VS2008下的工程文件,其中C++工程為啟動項,調用了C#的代碼,也就是在項目的屬性設置中,有使用clr。
后來不知道設置了什么屬性,就出現了下面的錯誤:
錯誤的結果2,從C:\Program Files(x86)\Microsoft Visual Studio 8\VC\bin\cl.exe 返回
輸出界面顯示如下:
1>------ 已啟動生成: 項目: a, 配置: Release Win32 ------
1>正在編譯...
1>cl: 命令行 error D8016 :“/MT”和“/clr:pure”命令行選項不兼容
1>項目 : error PRJ0002 : 錯誤的結果 2 (從“J:\Microsoft Visual Studio 9.0\VC\bin\cl.exe”返回)。
1>生成日志保存在“file://j:\vc++\a\a\Release\BuildLog.htm”
1>a - 1 個錯誤,0 個警告
========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ==========
最終采用如下解決辦法,在工程屬性中修改如下:
- project properties->C/C++->Code Generation->Runtime Library
選擇:Multi-threaded DLL (/MD)
2、在stdAfx.h中加入:
define _AFXDLL (該宏的意思是使用MFC動態鏈接庫)
當時沒有看運行后的輸出界面。從錯誤提示確實很難找到解決辦法,后來打開輸出界面,按照“:“/MT”和“/clr:pure”命令行選項不兼容”才找到解決辦法