1. 安装GCC环境

1.1 安装MinGW(Minimalist GNU for Windows)

首先下载MinGW,并安装。安装完成之后运行MinGW Installer。界面如下。勾选自己需要安装的包,然后点击Apply Changes执行。

其中除了一些必须的包之外,mingw32-make是执行make命令需要。

1.2 添加环境变量

之后在系统环境变量的PATH中添加 MinGW\bin 这个位置。在终端中试着用一下gcc gdb等命令确定可行。

2. 安装CMake

在CMake官网上下载并安装CMake。安装时注意勾选将路径添加到环境变量选项。

3. 使用CMake编译

与linux下不同的是,使用cmake要加入参数 -G 选择使用的生成器,直接回车会列出下面的生成器。

1 Generators2 Visual Studio 16 2019 = Generates Visual Studio 2019project files.3 Use -A option to specify architecture.4 * Visual Studio 15 2017 [arch] = Generates Visual Studio 2017project files.5 Optional [arch] can be "Win64" or "ARM".6 Visual Studio 14 2015 [arch] = Generates Visual Studio 2015project files.7 Optional [arch] can be "Win64" or "ARM".8 Visual Studio 12 2013 [arch] = Generates Visual Studio 2013project files.9 Optional [arch] can be "Win64" or "ARM".10 Visual Studio 11 2012 [arch] = Generates Visual Studio 2012project files.11 Optional [arch] can be "Win64" or "ARM".12 Visual Studio 10 2010 [arch] = Generates Visual Studio 2010project files.13 Optional [arch] can be "Win64" or "IA64".14 Visual Studio 9 2008 [arch] = Generates Visual Studio 2008project files.15 Optional [arch] can be "Win64" or "IA64".16 Borland Makefiles =Generates Borland makefiles.17 NMake Makefiles =Generates NMake makefiles.18 NMake Makefiles JOM =Generates JOM makefiles.19 MSYS Makefiles =Generates MSYS makefiles.20 MinGW Makefiles = Generates a make file foruse with21 mingw32-make.22 Unix Makefiles =Generates standard UNIX makefiles.23 Green Hills MULTI =Generates Green Hills MULTI files24 (experimental, work-in-progress).25 Ninja =Generates build.ninja files.26 Ninja Multi-Config = Generates build-.ninja files.27 CodeBlocks - MinGW Makefiles =Generates CodeBlocks project files.28 CodeBlocks - NMake Makefiles =Generates CodeBlocks project files.29 CodeBlocks -NMake Makefiles JOM30 CodeBlocks - Unix Makefiles =Generates CodeBlocks project files.31 CodeLite - MinGW Makefiles =Generates CodeLite project files.32 CodeLite - NMake Makefiles =Generates CodeLite project files.33 CodeLite - Ninja =Generates CodeLite project files.34 CodeLite - Unix Makefiles =Generates CodeLite project files.35 Sublime Text 2 -MinGW Makefiles36 = Generates Sublime Text 2project files.37 Sublime Text 2 -NMake Makefiles38 = Generates Sublime Text 2project files.39 Sublime Text 2 - Ninja = Generates Sublime Text 2project files.40 Sublime Text 2 -Unix Makefiles41 = Generates Sublime Text 2project files.42 Kate - MinGW Makefiles =Generates Kate project files.43 Kate - NMake Makefiles =Generates Kate project files.44 Kate - Ninja =Generates Kate project files.45 Kate - Unix Makefiles =Generates Kate project files.46 Eclipse CDT4 -NMake Makefiles47 = Generates Eclipse CDT 4.0project files.48 Eclipse CDT4 -MinGW Makefiles49 = Generates Eclipse CDT 4.0project files.50 Eclipse CDT4 - Ninja = Generates Eclipse CDT 4.0project files.51 Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

View Code

这里我使用

cmake .. -G "MinGW Makefiles"

可以看到生成了Makefile文件。接着我们输入mingw32-make.exe就可以生成main.exe了。

这里mingw32-make.exe有些麻烦。我们可以把这个文件重命名成make.exe,就可以直接使用make了。

这里生产的文件是.exe文件,和Linux下的还有所不同。

原文:https://www.cnblogs.com/lbz007oi/p/12532276.html

cmake windows linux,在Windows中像Linux里一样使用CMake和make相关推荐

  1. linux修改zip中文件,Linux下修改jar、zip等文件内的文件详解

    Linux下修改jar.zip等文件内的文件详解 Linux下修改jar.zip等文件内的文件详解 看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或z ...

  2. vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境

    VM中安装linux系统 在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载安装包 2.在下载目录打开终端安装 sudo dpkg -i code_1.32.3 ...

  3. SecureCRT常用Linux命令,SecureCRT中惯用linux命令

    SecureCRT中常用linux命令 SecureCRT中常用命令...一点点加吧: rz  : 上传文件. ps -auxf  :查看进程 tar -cvf /home/cbinews/opena ...

  4. linux 查看文件中数据类型,Linux下使用file命令确定文件中数据的类型-文件类型...

    青年是学习智慧的时期,中年是付诸实践的时期.--卢梭 在Linux系统中查看一个文件之前,要先确定该文件中数据的类型,之后再使用适当的命令或方法打开该文件. 与windows系统不同,在Linux系统 ...

  5. win10搭建Linux子系统,win10中搭建Linux子系统

    win10自带的Linux子系统,简称WSL(Windows Subsystem for Linux).优势是打通了Linux系统和windows系统,改变了传统虚拟机/双系统形成的两个系统相互隔绝的 ...

  6. linux的tar中ztvf,linux中的tar命令(2)

    实例4:只将 /tar 内的 部分文件解压出来 命令: tar -zxvf /opt/soft/test/log30.tar.gz log2013.log 输出: [root@localhost te ...

  7. linux 删除文件中重复,linux系统删除重复文件

    fdupes:Linux中查找并删除重复文件的命令行工具fdupes是Linux下的一个工具,它由Adrian Lopez用C编程语言编写并基于MIT许可证发行,该应用程序可以在指定的目录及子目录中查 ...

  8. linux ping结果中mdev,Linux下PING中mdev含义

    Linux在运行 ping 命令的时候,里面有一项输出叫 mdev,如下所示: ping www.baidu.com PING www.a.shifen.com (163.177.151.110) 5 ...

  9. linux修改led中颜色,Linux学习三之LED驱动(修改内核)

    昨天到今天折腾了两天才把LED的驱动实现了,当终于成功的时候还是很开心的.在此把错误的原因总结了一下, 也供正在学习的童鞋们参考一下,因为有些原因是手册误导的. 第一,在编译镜像前首先要把天嵌配置好的 ...

  10. linux钟java运行命令,在java中运行linux命令

    我想在java中运行"ls"命令,我的代码是- 注意: - 我正在使用WINDOWS.在java中运行linux命令 import java.io.IOException; pub ...

最新文章

  1. 关于Async与Await的FAQ
  2. 【Nignx】 nginx启动http服务,报错 curl: (56) Recv failure: Connection reset by peer
  3. Java基础5一数组的常见应用算法
  4. ps抠头发插件_彻底告别抠图的烦恼!PS自动抠图超级插件Topaz ReMask大放送
  5. linux搭建oracle脚本,Linux脚本自动安装Oracle
  6. linux 正则查找email_Linux--正则表达式--详解
  7. 77-spark与storm比对与选型
  8. lwip协议栈源码分析之pbuf
  9. mac Navicat安装提示’已损坏‘,解决方案
  10. ActivityManager.getRunningTasks笔记
  11. 如何控制局域网网速_单臂路由|N1盒子(OpenWRT)单线多拨实现网速叠加
  12. 合肥php怎么这么多的,合肥为什么那么多“郢”?答案就在这!
  13. 解构瑞幸小鹿茶:两大战场、一套逻辑、一个梦想
  14. 前端判断访问的浏览器是否为IE8
  15. 如何将多个文本文档合并到一个文档中?
  16. MySQL中的max_connections和max_user_connections 及 MySQL服务器最大连接数的合理设置
  17. Fast Furious face detection with OpenCV
  18. 华盛顿大学计算机专业硕士申请,华盛顿大学计算机科学与系统理学硕士研究生申请要求及申请材料要求清单...
  19. 考据党伤不起 - 东京首都大学发表《新世纪福音战士: Q》解说
  20. 2018年程序员涨薪必备——24本经典纸质书

热门文章

  1. HTTP404错误原因
  2. ant指定servlet版本_[转载]程序开发常见错误
  3. python求单链表的长度_709. 设计链表(Python)
  4. 记录 CAP定理和BASE特性
  5. 启动VMware中的虚拟机,报.vmdk”或它所依赖的某个快照磁盘
  6. steam 代购 机器人_两台Steam机器上市,对SteamOS的评论以及更多开放式游戏新闻
  7. pillow是python的图像处理标准库_详解Python图像处理库Pillow常用使用方法
  8. 批量文件替换_让你效率翻倍的15个Word批量操作小技巧
  9. sphinx 字符串转html,在Pycharm中获取Sphinx,以将我的文档字符串包含在生成的html中...
  10. linux发展前景2018,2018 年 Linux 的 8 个发展预测