Windows中像在Linux里一样使用CMake和make

摘要:
安装完成之后运行MinGWInstaller。其中除了一些必须的包之外,mingw32-make是执行make命令需要。参考教程:https://zhuanlan.zhihu.com/p/661970131.2添加环境变量之后在系统环境变量的PATH中添加MinGWin这个位置。参考教程:https://gclxry.com/use-cmake-on-windows/3.使用CMake编译与linux下不同的是,使用cmake要加入参数-G选择使用的生成器,直接回车会列出下面的生成器。1Generators2VisualStudio162019=GeneratesVisualStudio2019projectfiles.3Use-Aoptiontospecifyarchitecture.4*VisualStudio152017[arch]=GeneratesVisualStudio2017projectfiles.5Optional[arch]canbe"Win64"or"ARM".6VisualStudio142015[arch]=GeneratesVisualStudio2015projectfiles.7Optional[arch]canbe"Win64"or"ARM".8VisualStudio122013[arch]=GeneratesVisualStudio2013projectfiles.9Optional[arch]canbe"Win64"or"ARM".10VisualStudio112012[arch]=GeneratesVisualStudio2012projectfiles.11Optional[arch]canbe"Win64"or"ARM".12VisualStudio102010[arch]=GeneratesVisualStudio2010projectfiles.13Optional[arch]canbe"Win64"or"IA64".14VisualStudio92008[arch]=GeneratesVisualStudio2008projectfiles.15Optional[arch]canbe"Win64"or"IA64".16BorlandMakefiles=GeneratesBorlandmakefiles.17NMakeMakefiles=GeneratesNMakemakefiles.18NMakeMakefilesJOM=GeneratesJOMmakefiles.19MSYSMakefiles=GeneratesMSYSmakefiles.20MinGWMakefiles=Generatesamakefileforusewith21mingw32-make.22UnixMakefiles=GeneratesstandardUNIXmakefiles.23GreenHillsMULTI=GeneratesGreenHillsMULTIfiles24.25Ninja=Generatesbuild.ninjafiles.26NinjaMulti-Config=Generatesbuild-.ninjafiles.27CodeBlocks-MinGWMakefiles=GeneratesCodeBlocksprojectfiles.28CodeBlocks-NMakeMakefiles=GeneratesCodeBlocksprojectfiles.29CodeBlocks-NMakeMakefilesJOM30CodeBlocks-UnixMakefiles=GeneratesCodeBlocksprojectfiles.31CodeLite-MinGWMakefiles=GeneratesCodeLiteprojectfiles.32CodeLite-NMakeMakefiles=GeneratesCodeLiteprojectfiles.33CodeLite-Ninja=GeneratesCodeLiteprojectfiles.34CodeLite-UnixMakefiles=GeneratesCodeLiteprojectfiles.35SublimeText2-MinGWMakefiles36=GeneratesSublimeText2projectfiles.37SublimeText2-NMakeMakefiles38=GeneratesSublimeText2projectfiles.39SublimeText2-Ninja=GeneratesSublimeText2projectfiles.40SublimeText2-UnixMakefiles41=GeneratesSublimeText2projectfiles.42Kate-MinGWMakefiles=GeneratesKateprojectfiles.43Kate-NMakeMakefiles=GeneratesKateprojectfiles.44Kate-Ninja=GeneratesKateprojectfiles.45Kate-UnixMakefiles=GeneratesKateprojectfiles.46EclipseCDT4-NMakeMakefiles47=GeneratesEclipseCDT4.0projectfiles.48EclipseCDT4-MinGWMakefiles49=GeneratesEclipseCDT4.0projectfiles.50EclipseCDT4-Ninja=GeneratesEclipseCDT4.0projectfiles.51EclipseCDT4-UnixMakefiles=GeneratesEclipseCDT4.0projectfiles.ViewCode这里我使用cmake..-G"MinGWMakefiles"可以看到生成了Makefile文件。接着我们输入mingw32-make.exe就可以生成main.exe了。这里mingw32-make.exe有些麻烦。我们可以把这个文件重命名成make.exe,就可以直接使用make了。

1. 安装GCC环境

1.1 安装MinGW(Minimalist GNU for Windows)

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

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

Windows中像在Linux里一样使用CMake和make第1张

参考教程:https://zhuanlan.zhihu.com/p/66197013

1.2 添加环境变量

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

2. 安装CMake

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

参考教程:https://gclxry.com/use-cmake-on-windows/

3. 使用CMake编译

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

Windows中像在Linux里一样使用CMake和make第2张Windows中像在Linux里一样使用CMake和make第3张
1 Generators
2   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 with
21                                  mingw32-make.
22   Unix Makefiles               =Generates standard UNIX makefiles.
23   Green Hills MULTI            =Generates Green Hills MULTI files
24                                  (experimental, work-in-progress).
25   Ninja                        =Generates build.ninja files.
26   Ninja Multi-Config           = Generates build-<Config>.ninja files.
27   CodeBlocks - MinGW Makefiles =Generates CodeBlocks project files.
28   CodeBlocks - NMake Makefiles =Generates CodeBlocks project files.
29   CodeBlocks -NMake Makefiles JOM
30   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 Makefiles
36                                = Generates Sublime Text 2project files.
37   Sublime Text 2 -NMake Makefiles
38                                = Generates Sublime Text 2project files.
39   Sublime Text 2 - Ninja       = Generates Sublime Text 2project files.
40   Sublime Text 2 -Unix Makefiles
41                                = 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 Makefiles
47                                = Generates Eclipse CDT 4.0project files.
48   Eclipse CDT4 -MinGW Makefiles
49                                = 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了。

Windows中像在Linux里一样使用CMake和make第4张

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

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

免责声明:文章转载自《Windows中像在Linux里一样使用CMake和make》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇百度地图与腾讯/高德地图经纬度转换jenkins 新增节点的3种方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在WINDOWS中安装使用GSL(MinGW64+Sublime Text3 &amp;amp; Visual Studio)

        本文介绍在Windows下安装使用GSL库,涉及GSL两个版本(官方最新版及GSL1.8 VC版)、msys shell、GCC、G++等内容,最终实现对GSL安装及示例基于MinGW64在Sublime Text3下的编译运行,并实现GSL在Visual Studio下的使用及部分示例测试。还介绍了GSL1.8 VC版本的编译使用过程。...

cmake与autoconf+automake的对比

cmake与autoconf+automake的对比 - 缘起 - 博客频道 - CSDN.NET cmake与autoconf+automake的对比 分类:C++2012-05-07 17:03619人阅读评论(0)收藏举报 首先,拿他们对比本身没有太多的意义,他们都是产生makefile文件的工具。cmake产生的晚,解决了很多autotoo...

mingw链接opengl

    最近想要在mingw上搭建opengl环境,按照https://learnopengl-cn.github.io/01%20Getting%20started/02%20Creating%20a%20window/上的操作获取了glad的文件,但是glfw则是下载的prebuild binaries。     有两点需要注意:     1.如果是以...

Android Studio添加原生库并自动构建

[时间:2017-09] [状态:Open] [关键词:Android,Android Studio,gradle,native,c,c++,cmake,原生开发,ndk-build] 0 引言 最近在工作中遇到了升级Android Studio 2.3.3稳定版之后,无法编译jar包的问题。之后寻找AS文档-探索 Android Studio发现。可以通...

QGIS的编译 (Windows)

一、资源 https://github.com/qgis/QGIS https://github.com/qgis/QGIS/blob/master/INSTALL.md 二、编译需求 Following a summary of the required dependencies for building: Required build tools:...

Environment error: “CodeBloks can't find compiler executable in your configured search path's for GNU GCC compiler”

codeblock安装后,提示cant find compiler executable in your configured search paths for GNU GCC Compiler 可能的情况有两个: 1)安装的是不带编译器的版本 2)安装了带编译器的版本,但是没有指定正确的路径。 解决办法: 对于第一种情况,直接在官网下载带有编译器的版本;...