[转]Microsoft Visual C++ 与 MinGW

Mingw/Visual Studio + Qt5 开发环境搭建 一, QT框架介绍Qt 框架是一套跨平台的UI界面开发框架,支持C++语言快速开发出能够具有平台移植的图形界面。相比传统的Win32 /MFC图形界面开发,QT库具有更加优雅简洁的封装性,并且提供了丰富的标准控件和功能接口,并且对许多操作系统的机制进行了封装,能够让开发人员关注业务和图形逻辑实现。Qt 框架相比主流的桌面图形开发框架例如WPF/WinForm, 由于WPF和WinForm都是基于... 阅读详情

 您正在看的其它编程教程是:Microsoft Visual C++ 与 MinGW,附图。

这几天试用wxWidgets,分别用VC6和MinGW5编译通过,下面是一些记录。

MinGW:根据我的理解,它是一个Windows下的编译器(实际上是一系列开发工具)。与Windows下其它编译器不同的是,MinGW与Linux下广泛使用的GNU(基本上)完全兼容,这意味着,在Linux下如何编译源代码,在MinGW中也可以以完全相同的方式编译。

我个人以为,MinGW的出现是有原因的:有些Linux下的开发人员(比如开源阵营)发布的源代码通常只提供Linux下的编译方式,而不提供Windows下的编译方式(这可能与其不熟悉windows操作系统有关),但确实有不少用户需要在在Windows下编译使用此源代码。这在种情况下,如果Windows用户想用VC、BC等编译器编译该源代码,必须重写Makefile(各种编译器所支持的Makefile不尽相同),工作量比较大不说,还很难保证不出错。MinGW的出现,提供了两个平台下的“跨平台编译方案”。MinGW与MSYS相配合,连./configure都有了。与GNU不同的是,MinGW编译生成的是Windows下的可执行文件(.exe)或库文件(.dll,.lib)——不过编译过程中的的中间文件仍然是.o文件,而不是.obj文件(这当然无所谓了,中间文件嘛,编译完成后就没有用了)。MinGW好像是在Cygwin基础上发展而来的。顺便说一下Cygwin,它与MinGW在想法上基本是一致的,两者相比,Cygwin是重量级的(需下载50M以上直至数百兆不等,安装后占用空间可达1G),MinGW是轻量级的(需下载的文件只有20M,安装后70M左右),这是单纯从体积上说的,另外Cygwin现在据说也不是完全免费的了。

wxWidgets-2.6.2在Windows下的编译方式。用VC编译的话,有两种方式:VC工程,Makefile。前者就不用说了,用VC打开*.dsw文件,F7就可以了。这里说一下Makefile的编译方式,首先进入命令行窗口(cmd.exe 或 command.exe),切换路径到wxWidgets源代码所在目录下的 build/msw 子目录,执行“nmake -f makefile.vc”即可。用MinGW编译的话,基本上与前面类似,也是进入命令行窗口(cmd.exe 或 command.exe),切换路径到wxWidgets源代码所在目录下的 build/msw 子目录,只是执行的命令行是“mingw32-make -f makefile.gcc”。最终生成的库文件位于lib目录中。当然,编译之前可能需要设置一下,比如指定编译为动态库(DLL)还是静态库(LIB),或者是否采用UNICODE,等等,设置方式就是修改 build/msw 子目录中的 config.vc 或 config.gcc 文件。

VC6和MinGW相比,两者在编译速度,以及在编译后的文件的大小方面都有较大不同。根据我编译wxWidgets时所做的简单统计,VC6的编译速度比MinGW至少快一倍,VC6编译生成的动态库DLL文件比MinGW小一倍左右,VC6编译生成的静态库LIB文件比MinGW要大不少(大约是1.5倍)。下面的图片两者编译生成的文件大小的对比,左侧是VC6生成的,右侧是MinGW生成的,图一是编译生成动态库DLL的情况,图二是编译生成静态库LIB文件的情况:

 

总起来说,在Windows系统下,还是用VC编译比较合适,没办法的情况下才会选择MinGW。

C++开发环境配置全攻略:从Visual Studio到VSCode+MinGW 在软件开发领域,环境配置是项目启动的基础环节,尤其对于C++这类编译型语言,其工具链的复杂性常成为初学者的首要挑战。理解编译器、编辑器和构建工具的原理,是掌握C++开发的关键。编译器作为核心,负责将源代码翻译为机器码,而编辑器或集成开发环境则提供代码编写调试的工作台。正确的环境配置不仅能提升开发效率,更能加深对程序构建过程的理解,为后续学习内存管理、多线程等高级特性奠定坚实基础。本文聚焦于C++环境配置这一高频搜索主题,通过对比Visual StudioVSCode+MinGW两套主流方案,详细解析了从 阅读详情

相关推荐

Windows下C/C++开发环境搭建:VSCode+MinGWVisual Studio双路径详解

C/C++作为系统级编程语言,其程序构建过程涉及编译、链接等核心环节,理解这些底层机制是掌握语言精髓的关键。编译器将高级语言代码换为机器可执行的二进制文件,链接器则负责组合多个目标文件库,这一过程直接决定了程序的性能平台兼容性。在Windows平台进行C/C++开发,环境配置是首要技术门槛,主要分为模块化定制开箱即用两种路径。VSCode配合MinGW-w64编译器提供了轻量、可定制的解决方案,适合初学者深入理解构建流程;而Visual Studio作为集成开发环境,则提供了全套工具链,大幅提升Wi

weixin_30565199的博客 497

Visual-MinGW

* Home Page* http://visual-mingw.sourceforge.net/** Mailing list* http://sourceforge.net/mail/?group_id=46778* visual-mingw-general@lists.sourceforge.net** License* Visual-MinGW is under the GNU General Public License, * Copyright (C) 2001-2008 Manu B.* See license.htm for more details.* * Both SciTE and Scintilla are covered by "License for Scintilla and* SciTE" agreement terms detailed in license.htm.

C++开发环境搭建全攻略:从Visual Studio到VSCode+MinGW

在软件开发领域,编译器和集成开发环境(IDE)是构建可执行程序的核心工具链。编译器负责将高级语言源代码翻译成机器码,而IDE则集成了编辑器、调试器和构建系统,极大提升了开发效率。对于C++这类系统级语言,一个配置得当的开发环境不仅能确保代码正确编译,更能通过智能提示和调试工具保障工程质量开发体验。无论是进行桌面应用开发、游戏引擎编程,还是嵌入式系统和高性能计算项目,选择合适的工具链都是项目成功的首要前提。本文聚焦于C++环境搭建这一基础且关键的环节,详细对比了Visual Studio一站式方案VSCo

weixin_34095889的博客 450

细说MSVC和MinGW生成库的差异及如何相互调用

两个编译器C++ ABI是不兼容的所以无法识别对方导出的符号完成链接,但是可以用C语言进行中,C的ABI在所有编译器中都是相同的,也就是说把VC动态库所有导出接口都改为 extern “C” 形式即可,这样生成的动态库,MinGW和MSVC都可以相互链接。由于MSVC生成的静态库和MinGW生成的静态库ABI(Application Binary Interface)无法兼容、使用的标准库也不同(MinGW使用的GNU标准库、MSVC使用的微软标准库),所以两个编译器生成的静态不可以跨编译器相互调用;

yang1fei2的博客 3319

Microsoft Visual C++ MinGW,附图

2008.12.23补记:我对mingw的了解确实不多,本文是我(liigo)“对mingw的初步印象和感性认识”(而非“对mingw的盖棺定论式的评价”),文中有错误之处在所难免,敬请批评指正;如果有读者受我误导,深表歉意。不想因为此文浪费某些读者的宝贵时间,特此说明。这几天试用wxWidgets,分别用VC6和MinGW5编译通过,下面是一些记录。MinGW:根据我的理解,它是一个Wind

Liigo's blog 3万+

Qt编译器MinGW和MSVC的区别

我们下载Windows下的OpenCV时,解压后里面有两个文件夹,一个是build,一个是source,build这个文件夹实际上是官方已经提前给我们编译好了的库,会带两个文件夹VC14,VC15(分别Visual Studio的版本有对应关系),这两个文件夹下的库可以直接运行不需要编译将。如果你的第三方库是msvc的,能可能就必须msvc,如果第三方库是mingw的可能就必须mingw。VS作为Qt的开发环境也是使用这个编译器的缘故,但是,使用的必须是msvc编译器,不能够跨平台。

lihaizhen0507的博客 8406

MINGW vs Visual Studio:开发效率全面对比

最近我尝试对比了MINGWVisual Studio这两个主流工具链的性能差异,并开发了一个自动化测试工具来量化它们的表现。以下是整个项目的实现思路和经验总结。通过对比MINGW(轻量级GCC移植版)和Visual Studio(微软官方工具链)在编译速度、资源占用等方面的差异,可以帮助开发者根据项目需求选择更高效的工具。既避免了开发环境切换的麻烦,生成的HTML报告也能直接分享给团队成员讨论。对于需要频繁调整参数的对比测试,这种即改即看的工作流效率提升很明显。将结果整理为带柱状图的HTML报告。

ObsidianRaven13的博客 626

从零搭建C++开发环境:Visual StudioVSCode+MinGW/Clang全攻略

C++开发环境的搭建是学习这门语言的首要步骤,其核心在于理解编译器、编辑器构建系统三大工具链的协同工作原理。编译器如GCC、Clang或MSVC负责将源代码翻译为机器指令,编辑器如VSCode或集成开发环境如Visual Studio提供编码界面辅助功能,而构建系统如CMake则管理多文件项目的编译流程。掌握这些工具不仅能提升开发效率,更是深入理解C++工程实践的基础。对于初学者,在Windows平台可选择Visual Studio一站式方案快速上手,而追求轻量跨平台的开发者则适合配置VSCode搭配

weixin_33845881的博客 377

C++开发环境搭建全攻略:Visual StudioVSCode+MinGW双方案详解

集成开发环境(IDE)是程序员将源代码化为可执行程序的核心工具,其工作原理是通过编译器链接器的协同,将高级语言代码翻译为机器指令。掌握本地开发环境的配置,不仅能提升对程序构建生命周期的理解,更是进行系统级编程、项目管理和深度调试的技术基础。对于C++这类高性能语言,一个稳定高效的开发环境尤为关键,它直接影响学习曲线和开发体验。本文聚焦Windows平台,详细对比了开箱即用的Visual Studio高度可定制的VSCode+MinGW两套主流方案,手把手指导从零搭建,并涵盖环境验证、常见问题排查及效率

weixin_30788239的博客 429

Microsoft Visual C++ MinGW

这几天试用wxWidgets,分别用VC6和MinGW5编译通过,下面是一些记录。MinGW:根据我的理解,它是一个Windows下的编译器(实际上是一系列开发工具)。Windows下其它编译器不同的是,MinGWLinux下广泛使用的GNU(基本上)完全兼容,这意味着,在Linux下如何编译源代码,在MinGW中也可以以完全相同的方式编译。我个人以为,MinGW的出现是有原因的:有些

蜗牛档案室 2767

Windows C++开发环境配置指南:Visual StudioVSCode+MinGW双路径详解

在软件开发中,编译器和集成开发环境是构建程序的核心工具链。编译器负责将高级语言源代码翻译为机器可执行的指令,而IDE则提供了代码编辑、项目管理、调试等一体化支持。理解编译、链接、调试等基本原理,对于提升开发效率和解决工程问题至关重要。在C++开发领域,环境配置是初学者面临的首要挑战,尤其是在Windows平台上。本文聚焦于Windows C++环境搭建,深入对比了Visual Studio一站式集成方案VSCode配合MinGW的轻量灵活组合,涵盖了从编译器安装、环境变量配置到项目构建调试的完整流程,并

weixin_34293911的博客 363

Windows C/C++开发环境搭建:VSCode+MinGWVisual Studio全攻略

C/C++作为系统级编程语言,其开发环境搭建是学习实践的第一步。编译器集成开发环境(IDE)构成了开发环境的核心,前者负责将源代码换为可执行程序,后者则提供代码编辑、调试和项目管理等功能,直接影响开发效率。在Windows平台上,开发者常面临环境配置复杂、工具链选择多样等挑战。针对这些痛点,本文聚焦于两种主流高效方案:轻量灵活的VSCode配合MinGW-w64/GCC工具链,以及功能全面、开箱即用的Visual Studio集成开发环境。通过对比分析其模块化定制一站式集成的不同理念,并结合**环境

weixin_30279671的博客 399

MinGW-w64 MSVC 对比:Windows C++开发环境选型3个关键差异

本文深入对比了Windows平台两大C++开发工具链MinGW-w64MSVC的核心差异,包括架构设计、标准支持、调试体验和性能特征。通过实测数据和典型场景分析,帮助开发者根据项目需求选择最适合的工具链,提升开发效率和代码质量。

weixin_30279671的博客 388

【cpp/c++ summary 工具】Visual Studio 2022 切换编译器(Clang、MinGW Minimalist GNU for Windows

_bf16。

ResumeProject的博客 2523

CMake、Make、MinGw、Clang、Llvm、GCC、MSVC的区别

除开 GCC (GNU 编译器集合) 以外,MinGW 还包含有一些其他的 GNU 程序开发工具;的缩写,MinGwwindows版本的gcc集合。并不仅是一个 C/C++ 编译器,而是一套。是微软开发的VC运行时库,3、Make和CMake是。

m0_37698164的博客 1万+

Win10 C/C++开发环境配置指南:VSCode+MinGWVisual Studio方案详解

C/C++作为编译型语言,其开发环境的搭建是编程实践的基础环节。其核心原理在于通过编译器将源代码换为机器可执行的二进制文件,这一过程涉及预处理、编译、汇编和链接四个关键阶段。在Windows平台上,配置C/C++环境的价值在于为系统底层开发、高性能计算和游戏引擎等关键领域提供必要的工具链支持。对于初学者和开发者而言,选择合适的工具组合至关重要。常见的应用场景包括高校课程学习、开源项目贡献以及跨平台软件开发。本文聚焦于两种主流方案:轻量灵活的VSCode编辑器配合MinGW-w64编译器组合,以及功能集成度

weixin_30735745的博客 326

Windows 11 C++开发环境搭建指南:从MSVC到MinGW的完整配置方案

C++作为一门高性能的系统级编程语言,其核心价值在于对硬件资源的精细控制和跨平台潜力。其编译原理是将人类可读的源代码通过编译器换为机器可执行的二进制指令,这一过程高度依赖特定平台的工具链。在Windows操作系统上进行C++开发,选择合适的编译器工具链是构建稳定工程环境的第一步。MSVC编译器凭借Windows SDK的深度集成,为原生应用开发提供了最佳的兼容性和调试体验;而MinGW-w64则通过移植GCC编译器,为追求代码跨平台可移植性的项目提供了轻量级解决方案。本文聚焦于**Windows 11*

weixin_30307921的博客 304
上一篇: [转]MinGW与MSYS
下一篇: [转]如何写makefile
netux
博客等级 码龄18年 3粉丝 47原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值