当前位置: 代码迷 >> VC >> 关于"afx.h"头文件,该如何处理
  详细解决方案

关于"afx.h"头文件,该如何处理

热度:4486   发布时间:2013-02-25 00:00:00.0
关于"afx.h"头文件
我用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” 
  相关解决方案