拙网论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 138|回复: 0

如何:使用 /clr 编译 MFC 和 ATL 代码

[复制链接]

949

主题

1001

帖子

3736

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3736
发表于 2018-9-26 13:58:17 | 显示全部楼层 |阅读模式

https://msdn.microsoft.com/zh-cn/library/ms235211.aspx
使用 /clr 编译 MFC 可执行文件或规则 DLL
  • 在“解决方案资源管理器”中右击此项目,然后单击“属性”。

  • 在“项目属性”对话框中,展开“配置属性”旁边的节点,然后选择“常规”。 在右侧窗格中的“项目默认值”下,将“公共语言运行时支持”设置为“公共语言运行时支持 (/clr)”。

    在同一窗格中,确保“MFC 的使用”已设置为“在共享 DLL 中使用 MFC”。

  • 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 确保“调试信息格式”已设置为“程序数据库 /Zi”(而不是“/ZI”)。

  • 选择“代码生成”节点。 将“启用最小重新生成”设置为“否(/Gm-)”。 另外,将“基本运行时检查”设置为“默认”。

  • 在“配置属性”下,选择“C/C++”,然后选择“代码生成”。 确保“运行库”已设置为“多线程调试 DLL (/MDd)”或“多线程 DLL (/MD)”。

  • 在 Stdafx.h 中,添加下面一行代码。




    #using <System.Windows.Forms.dll>  




使用 /clr 编译 MFC 扩展 DLL
  • 按照“使用 /clr 编译 MFC 可执行文件或规则 DLL”中的步骤执行操作。

  • 在“配置属性”下,展开“C/C++”旁边的节点并选择“预编译头”。 将“创建/使用预编译头”设置为“不使用预编译头”。

    此外,还可以在“解决方案资源管理器”中右击 Stdafx.cpp,然后单击“属性”。 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 将“具有公共语言运行时支持的编译”设置为“无公共语言运行时支持”。

  • 对于包含 DllMain 及其调用的任何内容的文件,在“解决方案资源管理器”中右击该文件,然后单击“属性”。 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 在右侧窗格中的“项目默认值”下,将“具有公共语言运行时支持的编译”设置为“无公共语言运行时支持”。


使用 /clr 编译 ATL 可执行文件
  • 在“解决方案资源管理器”中右击该项目,再单击“属性”。

  • 在“项目属性”对话框中,展开“配置属性”旁边的节点,然后选择“常规”。 在右侧窗格中的“项目默认值”下,将“公共语言运行时支持”设置为“公共语言运行时支持 (/clr)”。

  • 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 确保“调试信息格式”已设置为“程序数据库 /Zi”(而不是“/ZI”)。

  • 选择“代码生成”节点。 将“启用最小重新生成”设置为“否(/Gm-)”。 另外,将“基本运行时检查”设置为“默认”。

  • 在“配置属性”下,选择“C/C++”,然后选择“代码生成”。 确保“运行库”已设置为“多线程调试 DLL (/MDd)”或“多线程 DLL (/MD)”。

  • 对于 MIDL 生成的每个文件(C 文件),在“解决方案资源管理器”中右击相应文件,然后单击“属性”。 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 将“具有公共语言运行时支持的编译”设置为“无公共语言运行时支持”。


使用 /clr 编译 ATL DLL
  • 按照“使用 /clr 编译 ATL 可执行文件”部分中的步骤执行操作。

  • 在“配置属性”下,展开“C/C++”旁边的节点并选择“预编译头”。 将“创建/使用预编译头”设置为“不使用预编译头”。

    此外,还可以在“解决方案资源管理器”中右击 Stdafx.cpp,然后单击“属性”。 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 将“具有公共语言运行时支持的编译”设置为“无公共语言运行时支持”。

  • 对于包含 DllMain 及其调用的任何内容的文件,在“解决方案资源管理器”中右击该文件,然后单击“属性”。 在“配置属性”下,展开“C/C++”旁边的节点并选择“常规”。 在右侧窗格中的“项目默认值”下,将“具有公共语言运行时支持的编译”设置为“无公共语言运行时支持”。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|抱朴守拙BBS

GMT+8, 2025-5-26 01:00 , Processed in 0.192362 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表