VC++ 2010 Express: Für AMD64 kompilieren
-
Wenn die Express-Editon IDE keine 64bit-Optionen direkt anbietet, könnte evtl. folgendes helfen:
http://msdn.microsoft.com/en-us/library/9yb4317s.aspx
man kann aber mittels kostenlosem Windows SDK von Microsoft 64 Bit Anwendungen erstellen. Einfach mal
cl.exe
fragen.
-
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.