2012-02-27 81 views
11

到DLL是有隻導出一個功能對DLL COS在輔導他們總是出口類的東西,如一個辦法:導出功能,而不

static __declspec(dllexport) double Add(double a, double b); 

內部類上面的語句,不會引起任何問題,但沒有給出類:

dllexport/dllimport requires external linkage 

回答

14

問題是「靜態」限定符。你需要刪除它,因爲在這種情況下它意味着錯誤的東西。儘量只:

__declspec(dllexport) double Add(double a, double b); 

這就是你需要在你的頭文件是什麼編譯DLL時。我們從使用的DLL程序訪問該功能,你需要有這個頭文件:

double Add(double a, double b); 

您可以使用相同的文件有兩種用途,如果您使用的#ifdefs:

#ifndef MYDLL_EXPORT 
    #define MYDLL_EXPORT 
#endif 

MYDLL_EXPORT double Add(double a, double b);