Also ich versuche, Legacy-App von 32 Bit auf 64 Bit zu kompilieren .. Ich kompilierte alle verwendeten Bibliotheken und machte es in WIN SDK 6.0A x64-Bit für libs ..Ungelöste externe Symbole in 32-Bit-Anwendung in Windows 64 kompilieren
ich verwende:
- Visual Studio Professional Edition 2008
- Visual C++
- dotNet Framework 3.5 SP1
- Windows Server 2008R2
- Windows SDK ist 6.0A
Every schließlich kommen, aber ich diese seltsamen Fehler wegen undefinierter Symbole bekommen:
error LNK2019: unresolved external symbol InterlockedDecrement referenced in function ...
error LNK2019: unresolved external symbol InterlockedIncrement referenced in function ...
error LNK2019: unresolved external symbol GetModuleBaseName referenced in ...
error LNK2019: unresolved external symbol EnumProcessModules referenced in ...
error LNK2019: unresolved external symbol EnumProcesses referenced in ...
error LNK2019: unresolved external symbol GetProcessMemoryInfo referenced
Das Problem ist, das sind alles Sachen von SDK gewinnen. InterlockedDec und InterlockedInc aus kernel32.lib kommenden GetModuleBaseName, EnumProcessModules, EnumProcesses sind GetProcessMemoryInfo in psapi.h aber auch kernel32.lib oder psapi.lib
Ich habe C: \ Programme \ Microsoft SDKs \ Windows \ v6 .0A \ Lib \ x64 und beide Bibliotheken kernel32.lib und psapi.lib sind da.
Es sieht definitiv die libs an der richtigen Stelle. Ich habe/VERBOSE: LIB eingeschaltet und es zeigt auf den richtigen Ordner.
So bin ich wirklich verwirrt, warum es nicht gefunden wird.
Irgendwelche Ideen ???
Dank
Wenn Sie msvc verwenden, können Sie '#pragma comment (lib," psapi.lib ")' verwenden, um das aus der Quelle hinzuzufügen Code –
warte was w krank dies [#pragma Kommentar (lib, "psapi.lib")] tun ??? – grobartn