`
isiqi
  • 浏览: 16585813 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

[C++] 如何在 C++ Builder 3.0 下编译含有 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

Project Option里的 Directories\Conditionals 这一页的Conditionals\Conditional defines中给加入

_X86_
_WINDOWS
_MSC_VER=1100
_AFX_PORTABLE
_AFX_NOFORCE_LIBS
_MT
_CRT_PORTABLE
_AFX_NO_DEBUG_CRT

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

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 里完成呢?聪明的读者,动动您的脑筋想想看吧!

分享到:
评论

相关推荐

    在C++Builder6中编译MFC类

    在C++Builder6中编译MFC类是一个技术性较强的操作,它涉及到将Microsoft Foundation Class (MFC)库与Borland C++ Builder (BCB)的Visual Component Library (VCL)结合使用。MFC是微软提供的一个面向对象的C++库,...

    C++ Builder 6.0 基础教程

    在讨论C++ Builder与Visual C++(VC)时,一个重要话题是它们各自封装类库的不同:C++ Builder使用的是VCL(Visual Component Library),而VC则采用MFC(Microsoft Foundation Classes)。VCL采用了更高级别的封装...

    一个手工封装的Win32 图形编程C++类, 献给不喜欢MFC 和 C++ Builder 的程序员

    一个手工封装的Win32 图形编程C++类, 献给不喜欢MFC 和 C++ Builder 的程序员。 含源码和Vs 2015 工程文件和已经编译后的可执行文件。希望完善这个库的朋友可以和我联系: samuel_ni@yahoo.com , 请随意修改,但原...

    C++Builder6教程.pdf

    开发者使用C++语言在C++Builder环境中构建高质量的软件应用程序,这与用母语在Word上撰写文章相似。C++Builder不仅提供了基础的编程功能,还融入了面向对象编程的核心理念,如封装、继承和多态,使得开发者能够构建...

    编程摇篮的C++Builder 6教程

    C++Builder 6 提供了可视化的程序界面设计功能,程序员可以在设计期间真实地看到窗口的样式和布局,包括字体、颜色和定位。该功能可以帮助程序员快速设计和实现复杂的用户界面。 三、程序编译 C++Builder 6 提供了...

    C++ Builder

    作为一款功能全面的开发工具,C++ Builder 提供了从代码编写到程序调试的一整套解决方案,使得开发者能够高效地进行应用程序的开发。 #### 二、C++ Builder 的核心功能 ##### 1. 代码编辑 - **智能代码编辑**:C++ ...

    C++ builder6.0中英版软件

    在C++ Builder 6.0中,你可以利用其直观的拖放式设计工具,创建出复杂的窗口应用,并且支持数据库连接,方便进行数据驱动的应用程序开发。 C++ Builder 6.0的重要特性包括: 1. **集成开发环境**:C++ Builder 6.0...

    c++builder 2010 atl库 头文件和lib

    C++Builder 2010 是一款集成开发环境(IDE),专为使用C++语言进行Windows应用程序开发设计。ATL(Active Template Library)是微软提供的一组C++模板类库,用于简化COM(Component Object Model)组件的创建。在C++...

    C++ Builder 教程 主要关注与基础知识

    C++ Builder 作为一款全面的 C++ 开发工具,不仅提供了高效的代码编辑、可视化界面设计、程序编译和调试功能,还支持代码优化和辅助程序安装等高级特性。通过使用 C++ Builder,无论是初学者还是有经验的开发者都...

    C++Builder6教程

    - **效率与性能**:尽管C++Builder在某些情况下的代码效率略低于纯C语言,但其自动优化功能通常能够弥补这一差距。 - **易用性**:C++Builder的可视化界面设计工具和代码编辑器功能强大,使得编程过程更加直观和高效...

    C++获取程序版本信息

    在C++编程中,获取程序版本信息是一项常见的需求,它可以帮助开发者了解软件的当前状态,以便更新维护或提供用户信息。在Windows操作系统中,这部分信息通常存储在可执行文件(.exe或.dll)的资源部分,称为VS_...

    编程摇篮的C++Builder+6教程.doc

    同时,C++Builder还可以帮助开发者管理程序依赖的动态库文件,确保程序在不同环境下正常运行。 C++Builder还支持生成单一可执行文件或带有动态库的安装程序,使得程序的部署更加灵活。它可以帮助开发者打包所有必要...

    C++ Builder 教程

    3. **程序编译**:作为一款IDE,C++Builder内置了编译器,能够将源代码编译成可执行程序。这个过程是至关重要的,因为它将高级语言转换为机器可理解的语言。C++Builder的编译器以其快速编译速度和代码优化能力闻名,...

    基于C++的USB上位机程序,c与plc上位机,C,C++

    在IT领域,上位机程序通常是指运行在个人计算机上,用于控制或通信下位机(如PLC、单片机等嵌入式设备)的软件。本话题聚焦于使用C++语言开发基于USB接口的上位机程序,特别是在Windows平台上利用Visual C++集成开发...

    C语言和C++Builder学习笔记.rar_C++笔记_c++学习笔记_c/C++_学习笔记_编程语言

    5. **MFC或VCL框架**:C++Builder中的VCL框架提供了大量预先封装的组件,便于快速开发用户界面。 6. **事件驱动编程**:理解事件和事件处理机制,如按钮点击事件、窗口关闭事件等。 7. **内存管理**:C++Builder中...

    Visual C++与DelphiC++Builder之比较及未来的发展前景之我见.pdf

    同时,MFC的兼容性极佳,其源代码可由任何符合ANSI标准的编译器编译,这是C++Builder所无法比拟的。 C++Builder的VCL框架则在组件支持、属性和异常处理方面表现出色,其组件化编程和事件驱动的模式更适合快速应用...

    Visual C++与DelphiC++Builder之比较及未来的发展前景之我见.docx

    然而,MFC的诞生相对较早,尽管经过多次迭代,其设计思想仍然停留在Windows 3.x时代的遗留,相比之下,VCL(Visual Component Library)则是Delphi和C++Builder共有的组件库,它更适应现代的开发需求,具有更强的...

    C++入门基础_30分钟入门教程

    C++是编译型语言,其编译后的代码直接转化为机器码,运行效率高且独立性好,能够在不同平台上运行。此外,C++在底层编程、系统级编程、数据库和多媒体等领域表现出色,尤其是其对面向对象方法的支持。 1.1.3 面向...

Global site tag (gtag.js) - Google Analytics