У меня есть сторонняя LIB, в которой символы экспортируются как обычный C / cdecl, поэтому, например, dumpbin.exe /SYMBOLS
сообщает, что экспортируются как __imp_nvmlInit
, так и nvmlInit
.
Однако в Visual Studio 2010 при попытке их импорта заголовочный файл будет иметь
extern "C" nvmlReturn_t nvmlInit(...);
но когда я пытаюсь скомпилировать, я получаю следующую ошибку:
main.obj: ошибка LNK2019: неразрешенный внешний символ _nvmlInit, указанный в функции _main
Как я могу помешать Visual Studio искать этот символ с подчеркиванием? __declspect(dllimport)
не работает, потому что тогда он декорируется до __imp__nvmlInit
(одно подчеркивание слишком много).
Спасибо.