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”命令行选项不兼容”才找到解决办法
