假设类A仅在dll库的头文件中定义(cpp中没有实现),有以下两种方式:
class __declspec(dllimport) A {...};
class A {...};
我尝试在我的应用程序中使用该库,我发现第一个不起作用。为什么?有什么办法让它与dllimport一起使用?感谢。
答案 0 :(得分:0)
__declspec(import)
有两个下划线,而不是一个。
除此之外,如果您使用的库是使用不同版本的Visual Studio编译的,则很可能找不到它尝试导入的符号。
应该假设使用一个版本的Visual Studio编译的库将无法与使用其他版本的Visual Studio编译的库链接,因为可能会有ABI更改。
您需要使用与尝试链接它的应用程序相同版本的Visual Studio来编译DLL。