2013-01-12 42 views
-1

假设A类只在一个dll库(在CPP没有实现)的头文件定义为两种方式如下:dllimport和w/o指示符之间的区别是什么?

class __declspec(dllimport) A {...}; 

class A {...}; 

我尝试使用该库在我的申请,我找到的第一个不起作用。为什么?任何方式使它与dllimport一起工作?谢谢。

+0

您可能想发布一个更完整的示例,并/或解释“使其工作”(或“什么不起作用”)的含义。 –

回答

0

这是__declspec(import)有两个下划线,而不是一个。

除此之外,如果你使用的库是用不同版本的Visual Studio编译的,很可能是它不会找到它试图导入的符号。

应该假定由于潜在的ABI更改,使用Visual Studio的一个版本编译的库将无法与使用另一版本的Visual Studio编译的库链接。

您需要使用与试图链接它的应用程序相同版本的Visual Studio来编译DLL。

相关问题