文本版|topic 高级搜索
   名人堂 帮助 论坛制度 意见反馈 | 首页 博客 周新贴 专题 求职 读书
RSS 底部
 
社区导航: 专家门诊   网络技术   操作系统   数据库   程序设计   系统应用   考试认证   CIO及信息化   站长交流   综合交流   下载基地  51CTO产品服务 设为首页 | 收藏本站
51CTO技术论坛» C/C++ » C++ Builder 下编译含有 MFC 的程式       [ 打印]  [ 订阅]  [ 收藏]  [ 推荐给朋友]   [ 本帖文本页]

论坛跳转:
     
标题: [转载] C++ Builder 下编译含有 MFC 的程式  ( 查看:318  回复:0 )   
 
ujm098
新新人类  点击可查看详细



帖子 28
精华 0
无忧币 160
积分 150
阅读权限 20
注册日期 2007-8-20
最后登录 2007-8-24 离线

[查看资料]  [发短消息]  [Blog
       
发表于:2007-8-24 13:03   标题:C++ Builder 下编译含有 MFC 的程式
上一帖 |
虽然说 C++ Builder 3.0 是 Borland C++ 5.02 的下一个版本,一样支援 MFC ,
但若要在C++ Builder 3.0 下使用 MFC 并不简单。不是直接写个 MFC native
Code 并在 Project Option 中再勾选个 MFC Compatibility 这麽简单,若你只这样
做,保证你在编译时一定会得到一堆的 Warnning 与 Error。

要让你与 BCB 都能够轻松的编译 MFC ,我们所必需的就是自己动点手脚,并将这个
动过手脚的 Project 档给放到 Object Repository;之後,你只需要按下选单上的
New 就可以开始你的 MFC in BCB之路了。

Step 1、

New 一个新的 Project

Step 2、

在 DirectoriesConditionals 这一页的ConditionalsConditional defines中给
加入:

_X86_
_WINDOWS
_MSC_VER=1100
_AFX_PORTABLE
_AFX_NOFORCE_LIBS
_MT
_CRT_PORTABLE
_AFX_NO_DEBUG_CRT

这几个编译用的参数。
并记得在 include path 加入 $(BCB)includeMFC 这一项。

Step 3、
接著在 Advance Compilers 这一页里将 MFC Compatibility 给勾选起来,

Step 4、
紧接著,将档案给存起来,里用文字编辑器来修改这个 Project 的 bpr 档。
找到 CFLAG1 = ...... 这一行
将这一行给为
CFLAG1 = -Od -Hc -w -k -r- -y -v -vi- -c -w-par -w-inl -w-hid -w-aus -g0
-WM -W

再找到 CFLAG3 = ...... 这一行
将这一行给为
CFLAG3 = -Tkh30000 -VF

最後找到 ALLLIB = .... 这一行
将这一行给为
ALLLIB = $(LIBFILES) $(LIBRARIES) nafxcw.lib import32.lib cw32mt.lib

接著就是存档罗!

Step 5、
这样一来,就可以直接在BCB3下享用MFC罗!

不可不知道

在此范例中,所编译出来的档案将会是 static link 的版本,并非 dynamic link,
要怎麽样在 BCB 3 下做 dynamic link MFC library 呢?在此先卖个关子,看看
BCB 里所附上的范例吧!

此外,在 BCB 有很多方式来链结 VCL 与 MFC,大致可分为两类 :

1、以 TApplication 为主体,而程式中混合使用 VCL与 MFC 所提供的其他类,如
CDC、CPoint、CFile 等等.....。
2、以 MFC 的 CApp 为主体,在选单中呼叫 VCL 所组合而成的 Form。

而这两类要怎麽样在 BCB 里完成呢?动动您的脑筋想想看吧.



论坛活动:测测你对IT技术大会的了解指数(赠微软礼品、无忧币)
2007-8-24 13:031楼
[ 顶部 ]
     
论坛跳转:  

| | |

标记已读 · 删除论坛Cookies · 文本版 · WAP
 
| 诚征版主 | 版主堂 | 意见建议 | 大史记 | 论坛地图
Copyright©2005-2008 51CTO.COM  Powered by Discuz!
本论坛言论纯属发布者个人意见,不代表51CTO网站立场!如有疑义,请与管理员联系。
京ICP备05051492号