所以我试图将遗留应用程序从32位编译为64位。 我重新编译了它使用的所有库,并使其查看WIN SDK6.0A x64位为libs ..
我在用:
- Visual Studio专业版2008
- Visual C ++
- dotNet Framework 3.5 SP1
- Windows Server 2008R2
- Windows SDK是6.0A
Everythings终于出现但我得到这些奇怪的未定义符号错误:
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
问题是这些都是来自SDK的胜利。 InterlockedDec和InterlockedInc来自kernel32.lib GetModuleBaseName,EnumProcessModules,EnumProcesses,GetProcessMemoryInfo位于psapi.h中,但也包含kernel32.lib或psapi.lib
我检查了C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Lib \ x64和两个库 kernel32.lib和psapi.lib都在那里。
它绝对可以在正确的位置查找库。我打开/ VERBOSE:LIB 它指向正确的文件夹。
所以我真的很困惑,为什么它找不到它们。
有任何想法吗???
谢谢