2010-07-16 49 views
3

我目前正在從32位遷移到64位,並在嘗試構建64位託管C++ dll時遇到鏈接錯誤,該dll鏈接到非託管C++的.lib文件,我還內置:當構建64位DLL時,「文件包含無效的.pdata貢獻」

LNK1223:無效或損壞的文件:文件包含無效.pdata貢獻

到目前爲止,我發現這個錯誤應該只發生在建設對於RISC機器,但在我的情況中並非如此。有誰知道這個錯誤和可能導致它的問題嗎?

增加: 非託管C++庫被編譯使用英特爾編譯器,而託管的DLL正在使用微軟編譯器構建。

加法#2: 當使用Microsoft編譯器編譯lib時,dll編譯得很好。這並不能解釋爲什麼編譯器甚至會查看庫的.pdata

回答

0

當我將非託管項目從vs2010遷移到vs2012時,我也遇到了LNK1223錯誤。

我通過刪除編譯器標誌/ GL來修復它。

希望這個方法套件適合你的情況。