2013-01-12 40 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。

相關問題