Неразрешенные внешние ссылки в компиляции приложения на 32 бита в Windows 64

Таким образом, я пытаюсь скомпилировать приложение прежней версии от 32 битов до 64 битов.. Я перекомпилировал все освобождение, оно использовало и сделало, оно изучить WIN SDK6.0A x64 укусило для, освобождает..

Я использую:

  • Visual Studio Professional Edition 2008
  • Visual C++
  • Платформа dotNet 3,5 SP1
  • Windows Server 2008R2
  • Windows SDK составляет 6.0 А

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 and both libs kernel32.lib, и psapi.lib там.

Это определенно ищет освобождение в правильном пятне. Я включил/VERBOSE:LIB, и он указывает на корректную папку.

Таким образом, я действительно смущен, почему это не находящий их.

Какие-либо идеи???

Спасибо

11
задан grobartn 7 July 2010 в 15:34
поделиться

3 ответа

Итак, я наконец-то разобрался, вроде как... Он не находил psapi.lib

В Project->Linker->Additional dependencies вместо того, чтобы просто сказать psapi.lib. Я указал полный путь к нему и все заработало... не совсем понимаю, почему он не смог найти его раньше, но ладно...

13
ответ дан 3 December 2019 в 07:36
поделиться

Это очень долгий путь (и я действительно не верю, что это так), но, возможно, заголовки не защищены должным образом с помощью extern "C" для компиляции c ++? Вы включаете системные заголовки или просто декларируете функции самостоятельно?

1
ответ дан 3 December 2019 в 07:36
поделиться

Можете ли вы опубликовать свои командные строки компиляции и компоновки, а также любые # def в своем коде?

Произойдет ли это, если вы создадите простой проект с нуля, который вызывает только один из этих методов?

1
ответ дан 3 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: