2
我有一個模板函數,我在DLL中的頭文件中定義。我不需要導出函數,因爲所有的使用者都會在頭文件中讀取,並且無論如何都具有整個函數。但是,我有一個專門的模板,不能在頭文件中定義(否則我會得到重定義鏈接器錯誤),所以它必須在源文件中。從DLL導出專門的模板函數
導出此函數的正常方法是什麼?
template <typename T>
bool functionName(/*params*/){
//.....
}
template<> IMPORTEXPORTMACRO
bool functionName(/*params*/);
和源文件有
template<>
bool functionName(/*params*/){
//...
IMPORTEXPORTMACRO
是這些宏要麼是__declspec(dllimport)
或dllexport
感謝
難道你不能只使內聯的專門功能?從而避免標題錯誤。 – GWW 2011-04-11 18:47:49
然後我從多次定義的函數中得到錯誤。 – bdwain 2011-04-11 18:53:09
你可以簡單地顯示你的代碼(你不需要顯示整個實現或任何東西)。當我說內聯你指定'inline'的權利? – GWW 2011-04-11 19:03:50