GCC与CMAKE的关系

gcc是编译器,可以编译多种编程语言(C、C++、Java…)
引申:mingw相当于是GCC的windows的版本,具体见:关于MinGW32 和 MinGW-w64
make是一种工具,通过调用makefile来编译文件,makefile里包含gcc的命令
自己写makefile多麻烦,cmake可以通过cmakelist.txt来生成makefile
cmakelist怎么来的呢?自己写的
当然,如果使用vs等ide,vs都帮你编译好了,点一下就行了
如果是拷贝的代码,vs编译的时候出现很多lnk2019的错误,可能就需要编译之后再用
编译可以用cmakeGUI或者命令行窗口(cmake、make…)
这就需要提前配置好cmake的环境,配置环境见:link

关于MinGW32 和 MinGW-w64

MinGW 的全称是:Minimalist GNU on Windows 。它实际上是将经典的开源 C语言 编译器 GCC 移植到了 Windows 平台下,并且包含了 Win32API ,因此可以将源代码编译为可在 Windows 中运行的可执行程序。而且还可以使用一些 Windows 不具备的,Linux平台下的开发工具。一句话来概括:MinGW 就是 GCC 的 Windows 版本 。

以上是 MinGW 的介绍,MinGW-w64 与 MinGW 的区别在于 MinGW 只能编译生成32位可执行程序,而 MinGW-w64 则可以编译生成 64位 或 32位 可执行程序。

事实上成为标准的“专有名词”mingw32里的32是固定的。另外,所有这些大小写一般也是固定的。GCC等的源码配置里面也有硬编码进去。然后,因为mingw32只支持32位,有人觉得不够用。这里的一个主要人物,就是现在MinGW-W64的主要维护者Kai Tietz。因为工作需要他想MinGW提供扩充x64支持,但对方态度很不友好。于是愤而fork出来,这就是MinGW-W64的由来。

可见,MinGW-W64和原版MinGW有所渊源,但是独立的两个项目。
MinGW 现已被 MinGW-w64 所取代,且 MinGW 也早已停止了更新,内置的 GCC 停滞在了 4.8.1 版本。

【编译】GCC与CMAKE的关系 MinGW32 和 MinGW-w64的关系相关推荐

  1. 【MySQL】源码编译MySQL8.x+升级gcc+升级cmake(亲测完整版)

    大家好,我是冰河~~ 今天给大家分享一篇通过源码编译安装MySQL8的文章,期间涉及到gcc和cmake等编译环境的升级.好了, 不多说了,开始今天的正题. 一.概述 最近,在CentOS 6.8服务 ...

  2. gcc编译可执行文件和cmake编译可执行文件

    gcc编译 gcc的下载(下载mingw,里面包含gcc) 下载安装MinGW-w64详细步骤(c/c++的编译器gcc的windows版,win10真实可用) gcc编译可执行文件 由源码转换为可执 ...

  3. gcc与cmake、qmake与make、ninja

    gcc gcc是GNU Compiler Collection(GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C.C++.Objective-C.Fortran.Java等等 ...

  4. linux gcc 静态编译,GCC 程序编译的静态链接和动态链接

    (给Linux爱好者加星标,提升Linux技能)转自:Mr_Bluyee 在链接阶段中,所有对应于源文件的 .o 文件.'-l' 选项指定的库文件.无法识别的文件名(包括指定的.o目标文件和.a库文件 ...

  5. centos 下编译 gcc

    由于PHP7在编译过程需要的GCC版本比较高,而在 wdlinux 中自带的 gcc 版本满足不了PHP7的编译需求,因此这里才有了 gcc 的编译过程 实际上在编译 gcc 的过程中又遇到了好多坑, ...

  6. 深度linux安装make,linux下安装python3完整教程(依赖环境gcc,make,cmake,configure等详细解释)...

    前言:python在linux环境下面没有安装包,只支持从源码安装,本文不仅仅会完整的演示安装步骤,还会解释每一步这么做的原因以及一些关键概念的理解,包括什么是make等.本文基于centos7的KD ...

  7. vscode配置opencv环境,包括opencv源码编译(mingw64 + cmake)

    vscode使用了mingw64,在使用官网下载的opencv后,发现有函数提示功能,但是在调试时出现了各种opencv库中的各种函数未定义的情况(如下图代码所示的类型),然后突然明白过来,既然使用了 ...

  8. Ubuntu 12.04 64bit 安装编译GCC 4.1.2 绝对原创

    1. 下载并解压源代码: wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2 tar jxvf gcc-4.1.2. ...

  9. OpenCV与gcc和CMake一起使用

    OpenCV与gcc和CMake一起使用 OpenCV与gcc和CMake一起使用 步骤 使用OpenCV创建程序 创建一个CMake文件 生成可执行文件 结果 OpenCV与gcc和CMake一起使 ...

  10. linux下编译isl,CentOS 6 编译GCC 4.8.1简明流程

    之前讨论了很多关于编译gcc的事情,都源自于当年在CentOS6.2上编译gcc4.7.2的事情,简直苦不堪言. 今天工作需要又要用CentOS了,用于gcc只用了更严格的开源协议GPL v3的问题, ...

最新文章

  1. MYSQL 数据库迁移 ***
  2. simple c语言,C语言——指针(simple).ppt
  3. javascript es6 特性简介
  4. 戴尔t410支持哪些服务器系统,DELL服务器T410
  5. floyd算法和动态规划
  6. Android中执行的错误:java.lang.UnsatisfiedLinkError: Couldn't load locSDK3: findLibrary returned null....
  7. 服务器编写_编写下载服务器。 第六部分:描述您发送的内容(内容类型等)...
  8. 如何用业余时间成为抢手的数据人才?
  9. pytorch-多GPU训练(单机多卡、多机多卡)
  10. 高质量C++/C编程指南
  11. Android手柄数据全解析
  12. ODC:在线深度聚类的无监督表示学习
  13. 害怕字体侵权?可以免费商用的字体库来了!
  14. [转发]行列视(RCV)——生产数据应用系统
  15. lucene geohash 在外卖场景中,商家不规则多边形配送范围技术应用
  16. Telecoms Systems - PART.1
  17. Phonopy-Spectroscopy计算材料红外和Raman光谱
  18. Retrofit2源码解析
  19. Swagger框架学习分享
  20. python之父北京尚学堂_尚学堂86---115Python_Note

热门文章

  1. Meshlab模型对齐
  2. 证明酉矩阵的特征值模为1
  3. Java 定时任务JOB
  4. 三星Note3 SM-N9009 国内天翼版本安装谷歌框架
  5. Guice 的工作原理
  6. Eclipse安装SVN检出项目插件Subclipse失败过程记录
  7. 检测键盘的 CAPS LOCK 开关
  8. 写给2018考研的你
  9. ubuntu16 安装 teamview 步骤
  10. CAD教程:CAD自定义菜单和工具栏的操作技巧