2010-03-22 95 views
0

我從另一個開發人員編譯成靜態庫的Visual Studio項目中擁有C++源代碼。我需要更改它,以便從該代碼構建一個dll,以便我可以從C#中調用它。我進入Visual Studio中的項目屬性,並將配置類型更改爲DLL。然而,現在給很多鏈接錯誤的,如:如何將VS2008 C++項目鏈接爲DLL而不是LIB?

error LNK2001: unresolved external symbol __CAP_Enter_Function XXXFilter.obj XXXFramework 

還有什麼我需要在Visual Studio和代碼以從代碼,而不是一個lib一個dll呢?圖書館是巨大的,所以編寫一個包裝不是一個選項。我有代碼,所以我應該能夠使它建立一個DLL。

我不是一個非常有經驗的C++開發人員,但我在C#和visual studio中。 C++的命令行是:

/OD/OI/d 「_DEBUG」/ d 「_XBOX」/ d 「XBOX」/ d 「_XBOX_CRT_DEPRECATE_INSECURE」/ d 「_MBCS」/ FD/MTD /Yu"stdafx.h」 /Fp"Debug/AtgFramework.pch 「/ FO 」調試\「 /Fd"Debug\vc80.pdb」/ W4/NOLOGO/C /紫/ TP

感謝

回答

1

某處在C++項目有人使用了/callcap Visual C++參數。我不認爲它有一個C++設置,所以它很可能在「附加選項」/「命令行」部分。刪除選項,它應該鏈接好。

+0

謝謝。這解決了很多鏈接錯誤,但不是全部。還有更多未解決的外部符號錯誤。我會張貼他們,但有1700個。 C++命令行是: /Od/Oi/D「_DEBUG」/ D「_XBOX」/ D「XBOX」/ D「_XBOX_CRT_DEPRECATE_INSECURE」/ D「_MBCS」/ FD/MTd /Yu"stdafx.h「/ Fp 「Debug/AtgFramework.pch」/ Fo「Debug \\」/Fd"Debug\vc80.pdb「/ W4/nologo/c/Zi/TP – 2010-03-22 22:07:08

+0

我無法評論其他未解決的外部問題。它們很可能是源代碼使用的庫,編譯器開關無法提供幫助。 – 2010-03-22 22:34:21

相關問題