VC++ 2010 Express: Für AMD64 kompilieren



  • Ich hab das SDK runtergeladen und er kompiliert auch ein Hello-World-Testprogramm.

    Aber der Linker gibt den Fehler "LINK : fatal error LNK1181: cannot open input file 'kernel32.lib'" aus.

    Die Linker-Befehlszeile ist /OUT:"c:\visual studio 2010\Projects\64Bit\x64\Release\64Bit.exe" /NOLOGO "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /MANIFEST /ManifestFile:"x64\Release\64Bit.exe.intermediate.manifest" /ALLOWISOLATION /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"c:\visual studio 2010\Projects\64Bit\x64\Release\64Bit.pdb" /OPT:REF /OPT:ICF /PGD:"c:\visual studio 2010\Projects\64Bit\x64\Release\64Bit.pgd" /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X64 /ERRORREPO



  • OK, anscheinend musste ich nur das Verzeichnis zu den Linkerverzeichnissen hinzufügem-



  • Wie kann ich boost für 64 Bit kompilieren?



  • Wenn ich dieser ANleitung folge: http://my.opera.com/rodix/blog/2008/07/16/compile-boost-64-bit-with-visual-studio

    kommt cl.exe nicht gefunden.



  • Mr X schrieb:

    Nein.
    Man muss das Windows SDK 7.1 installieren, dann geht es.

    Auch VC++ 2008 Express konnte man schon (mit viel Aufwand) 64-bit fähig machen, bei VC++ 2010 gehts durch einfaches installieren des o.g. SDKs

    Danke, das habe ich nicht gewusst 👍

    dsfsdf schrieb:

    Wenn ich dieser ANleitung folge: http://my.opera.com/rodix/blog/2008/07/16/compile-boost-64-bit-with-visual-studio

    kommt cl.exe nicht gefunden.

    Mit dieser Anleitung habe ich auch mein erstes boost x64 unter Visual Studio 2008 kompiliert. Du musst darauf achten, dass du die Aufrufe am richtigen Ort machst.



  • /rant/ schrieb:

    dsfsdf schrieb:

    Wenn ich dieser ANleitung folge: http://my.opera.com/rodix/blog/2008/07/16/compile-boost-64-bit-with-visual-studio

    kommt cl.exe nicht gefunden.

    Mit dieser Anleitung habe ich auch mein erstes boost x64 unter Visual Studio 2008 kompiliert. Du musst darauf achten, dass du die Aufrufe am richtigen Ort machst.

    Ich habe hier precompiled boost 64 gefunden: http://boost.teeks99.com/



  • sdfdsfdsf schrieb:

    /rant/ schrieb:

    dsfsdf schrieb:

    Wenn ich dieser ANleitung folge: http://my.opera.com/rodix/blog/2008/07/16/compile-boost-64-bit-with-visual-studio

    kommt cl.exe nicht gefunden.

    Mit dieser Anleitung habe ich auch mein erstes boost x64 unter Visual Studio 2008 kompiliert. Du musst darauf achten, dass du die Aufrufe am richtigen Ort machst.

    Ich habe hier precompiled boost 64 gefunden: http://boost.teeks99.com/

    Allerdings kriege ich damit folgende Linker-Fehler:

    1>main.obj : error LNK2001: unresolved external symbol __imp_GetTickCount
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_GetTickCount
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_GetTickCount
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetTickCount
    1>main.obj : error LNK2001: unresolved external symbol __imp_GetProcessHeap
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_GetProcessHeap
    1>main.obj : error LNK2001: unresolved external symbol __imp_WaitForMultipleObjects
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_WaitForMultipleObjects
    1>main.obj : error LNK2001: unresolved external symbol __imp_ReleaseSemaphore
    1>main.obj : error LNK2001: unresolved external symbol __imp_HeapAlloc
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_HeapAlloc
    1>main.obj : error LNK2001: unresolved external symbol __imp_CreateEventA
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_CreateEventA
    1>main.obj : error LNK2001: unresolved external symbol __imp_CloseHandle
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_CloseHandle
    1>main.obj : error LNK2001: unresolved external symbol __imp_HeapFree
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_HeapFree
    1>main.obj : error LNK2001: unresolved external symbol __imp_CreateSemaphoreA
    1>main.obj : error LNK2001: unresolved external symbol __imp_WaitForSingleObject
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_WaitForSingleObject
    1>main.obj : error LNK2001: unresolved external symbol __imp_SetEvent
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_SetEvent
    1>main.obj : error LNK2001: unresolved external symbol __imp_GetSystemTimeAsFileTime
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_GetSystemTimeAsFileTime
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetSystemTimeAsFileTime
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_TlsAlloc
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_TlsFree
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_TlsGetValue
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_GetSystemInfo
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_Sleep
    1>MSVCRT.lib(crtexe.obj) : error LNK2001: unresolved external symbol __imp_Sleep
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_ResetEvent
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_TlsSetValue
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_ResumeThread
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_SystemTimeToFileTime
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_SetWaitableTimer
    1>libboost_thread-vc100-mt-1_43.lib(thread.obj) : error LNK2001: unresolved external symbol __imp_CreateWaitableTimerA
    1>MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp_EncodePointer
    1>MSVCRT.lib(crtexe.obj) : error LNK2001: unresolved external symbol __imp_EncodePointer
    1>MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp_DecodePointer
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_TerminateProcess
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_GetCurrentProcess
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_UnhandledExceptionFilter
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_SetUnhandledExceptionFilter
    1>MSVCRT.lib(unhandld.obj) : error LNK2001: unresolved external symbol __imp_SetUnhandledExceptionFilter
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_IsDebuggerPresent
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol RtlVirtualUnwind
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol RtlLookupFunctionEntry
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_RtlCaptureContext
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_QueryPerformanceCounter
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetCurrentThreadId
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetCurrentProcessId
    

    Was tun? Kernel32.lib ist im Linker-Pfad.



  • Durch inkludieren von boost-libs habe ich es auf folgende Fehler reduziert:

    1>main.obj : error LNK2001: unresolved external symbol __imp_GetTickCount
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetTickCount
    1>main.obj : error LNK2001: unresolved external symbol __imp_GetProcessHeap
    1>main.obj : error LNK2001: unresolved external symbol __imp_WaitForMultipleObjects
    1>main.obj : error LNK2001: unresolved external symbol __imp_ReleaseSemaphore
    1>main.obj : error LNK2001: unresolved external symbol __imp_HeapAlloc
    1>main.obj : error LNK2001: unresolved external symbol __imp_CreateEventA
    1>main.obj : error LNK2001: unresolved external symbol __imp_CloseHandle
    1>main.obj : error LNK2001: unresolved external symbol __imp_HeapFree
    1>main.obj : error LNK2001: unresolved external symbol __imp_CreateSemaphoreA
    1>main.obj : error LNK2001: unresolved external symbol __imp_WaitForSingleObject
    1>main.obj : error LNK2001: unresolved external symbol __imp_SetEvent
    1>main.obj : error LNK2001: unresolved external symbol __imp_GetSystemTimeAsFileTime
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetSystemTimeAsFileTime
    1>MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp_EncodePointer
    1>MSVCRT.lib(crtexe.obj) : error LNK2001: unresolved external symbol __imp_EncodePointer
    1>MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp_DecodePointer
    1>MSVCRT.lib(crtexe.obj) : error LNK2001: unresolved external symbol __imp_Sleep
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_TerminateProcess
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_GetCurrentProcess
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_UnhandledExceptionFilter
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_SetUnhandledExceptionFilter
    1>MSVCRT.lib(unhandld.obj) : error LNK2001: unresolved external symbol __imp_SetUnhandledExceptionFilter
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_IsDebuggerPresent
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol RtlVirtualUnwind
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol RtlLookupFunctionEntry
    1>MSVCRT.lib(gs_report.obj) : error LNK2001: unresolved external symbol __imp_RtlCaptureContext
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_QueryPerformanceCounter
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetCurrentThreadId
    1>MSVCRT.lib(gs_support.obj) : error LNK2001: unresolved external symbol __imp_GetCurrentProcessId
    

    Kann mir da einer helfen?



  • kernel32.lib linken?



  • Ich hab den Fehler gefunden: Ich habe gegen 7.0A gelinkt statt gegen 7.1.


Anmelden zum Antworten