我用vc2008新建了一个窗体项目,只写了一句话:#include "afx.h" 运行出错:fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
在项目属性——配置属性 ——常规——MFC的使用——选择“在静态库中使用 MFC” 提示错误:
1>------ 已启动生成: 项目: JLU_DRGS, 配置: Debug Win32 ------
1>正在编译...
1>cl: 命令行error D8016 :“/MTd”和“/clr:pure”命令行选项不兼容
1>项目: error PRJ0002 : 错误的结果2 (从“F:\Microsoft Visual Studio 9.0\VC\bin\cl.exe”返回)。
1>生成日志保存在“file://f:\JLU_DRGS\VC\JLU_DRGS\JLU_DRGS\Debug\BuildLog.htm”
1>JLU_DRGS - 1 个错误,个警告
========== 生成: 成功0 个,失败1 个,最新0 个,跳过0 个==========
在项目属性——配置属性 ——常规——MFC的使用——选择“在共享 DLL 中使用 MFC” 提示错误:
1>------ 已启动生成: 项目: JLU_DRGS, 配置: Debug Win32 ------
1>正在编译...
1>stdafx.cpp
1> WINVER not defined. Defaulting to 0x0600 (Windows Vista)
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxv_w32.h(247) : error C3641: “DrawState”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxv_w32.h(265) : error C3641: “DrawStatusText”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winbase.h(2534) : error C3641: “FreeResource”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\afxv_w32.h(279) : error C3641: “UnlockResource”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(90) : error C3641: “InterlockedExchangePointer”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(102) : error C3641: “ATL::_AtlGetConversionACP”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(535) : error C3641: “AtlA2WHelper”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(554) : error C3641: “AtlW2AHelper”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(572) : error C3641: “AtlA2WHelper”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(577) : error C3641: “AtlW2AHelper”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atlconv.h(530) : error C3641: “AtlDevModeW2A”: 用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__stdcall ”无效
1>F:\Microsoft Visual Studio 9.0\VC\atlmfc\include\atltrace.h(65) : error C2440: “default argument”: 无法从“int (__cdecl *)(int,const char *,int,const char *,const char *,...)”转换为“ATL::CTrace::fnCrtDbgReport_t”