2012-02-01 232 views
1

我有很多非託管C++代碼寫得很久以前。現在,我想回去使用MS Test(內置於Visual Studio)向該代碼添加自動化測試。但是,爲了做到這一點,我必須將C++構建爲.lib文件並在其周圍編寫包裝器層(以便從C#測試中調用它),或者我需要能夠將代碼編譯爲託管代碼。我得到的第一個選項,但理想情況下,我寧願使用第二個選項,以便不需要包裝層。請注意,儘管我提到用C#編寫測試代碼,但這不一定是要求。將非託管C++代碼編譯爲託管代碼

因此,我更改了項目的屬性,使「公共語言運行時支持」屬性從「無公共語言支持」更改爲「公共語言運行時支持(/ clr)」。 現在當我嘗試編譯,我得到讀取

"error D8016: '/ZI' and '/clr' command-line options are incompatible" 

有沒有人有想法這究竟是怎樣一個錯誤,我怎麼能計算出上述問題?你以前做過嗎?我一直在網上搜索和閱讀這篇文章已經有相當長的一段時間,我真的空手而回,沒有真正的答案。

任何提示或建議將不勝感激。 謝謝。

回答

3

/ZI選項用於使用本機代碼進行編輯和繼續。

嘗試使用非常相似的/Zi選項。調試數據庫沒有編輯和繼續功能。

+0

如何更改該選項?在項目的屬性?你知道哪裏嗎? – JToland 2012-02-01 18:07:36

+0

是的,那是項目屬性的一部分。選擇創建一個調試數據庫,但不要選擇編輯和繼續。 – 2012-02-01 18:09:47

+0

嗯,現在我看到「錯誤D8016:'/ clr'和'/ Gm'命令行選項不兼容」 – JToland 2012-02-01 18:19:10