У меня есть сторонняя библиотека 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
(слишком много подчеркивания).
Спасибо.