我想鏈接一個開源庫到我的項目之一。這個庫是非託管的(命名爲Tetgen),我的項目是託管的C++。LNK 2028 - 2019 /託管和非託管C++? (VS 2008)
我的項目識別標題,並可以使用它定義的功能。但我得到一個錯誤2028每次要訪問到在.cpp定義的一些方法時間:
錯誤LNK2028:無法解析令牌(0A000E20)「市民:無效__thiscall tetgenio :: save_nodes(字符常量*)」 (?save_nodes @ tetgenio @@ $$ FQAEXPBD @ Z)的函數引用 「市民:虛擬BOOL __thiscall ForwardModelingPlugin :: CustomMeshVol3D :: tesselate(無效)」(tesselate @ CustomMeshVol3D @ ForwardModelingPlugin @@ $$ FUAE_NXZ?)
我試圖創建一個測試函數:
int tetgenio::Test(int i) {
return i;
}
...和另一個Testbis函數,在頭文件中定義。 Testbis的工作原理,Test給出了2028錯誤。
我比較我的項目,並創建了.LIB的OBJ,併爲LIB有:
[email protected]@@[email protected]
但在.OBJ是:
[email protected]@@[email protected] in the .obj
看樣子他們不一樣。
所有內容都用/ clr編譯。我試過創建一個.lib和一個.dll,兩種方式都有相同的結果。
Tetgen本身是用/ clr編譯的嗎?如果不是,它需要。 – 2010-06-28 18:12:18
是的。一切都以/ clr編譯 – ccote 2010-06-28 20:00:21