win10 mingw+cmake 环境配置

环境配置

win10 操作系统
使用到的工具包
  • cmake 版本号 3.20.0 cmake下载地址
  • mingw64 版本MinGw x86_64-8.1.0-release-posix-seh-rt_v6-rev0 csdn下载地址
  • 如果使用vscode作为编辑器请自行下载vscode编辑器 这里不做说明
有关gcc以及cmake的系统环境配置

将mingw64压缩包解压至C盘符下,将cmake的安装程序安装过程中选择并记住安装位置,例如我的cmake安装位置在机器的C:\CMake下面。
在win10系统-》高级环境设置-》高级-》环境变量中的系统环境变量Path这个变量名称的值中,加入mingw64以及cmake的bin目录路径,例如下面

对于安装好的cmake 以及 mingw64来说,打开powershell 输入命令会显示正确的版本号,例如我这测试用的migw64 版本号为MinGW 8.1.0 以及cmake版本号为3.20.0-rc

测试cmake

这次主要测试win10下的cmake而不是说明cmake的语法以及使用的各种细节,因此我们仅仅用简单的c++代码来测试以下,首先说明的是通常我们需要一个最基本的c++代码文件,另外一个是CMakeLists.txt文件,注意CMakeLists.txt文件的后缀名为txt,文件名称为CMakeLists不要少些字母。我将上述文件放到一个名称为CPP_E的目录下,同时我们将生成的文件的中间结果和最后的执行文件都存在bulid目录下面,这样最大保证视觉上简单,文件结构如下

hello.cpp 以及 CMakeLists.txt 的内容分别如下面两个代码
#include<iostream>
using namespace std;
int main(){
 
    cout<<"hello world"<<endl;
    return 0;
}

CMakeLists.txt内容:这个是最基本的三行内容,第一行是说明版本号,第二行为创建的工程名称,第三个才是有实质作用的将hello.cpp 编译成的二进制文件result,正确执行后会生成result.exe文件,要说明的是在CMakeLists.txt文档第三行 我们直接写result就可以,不写result.exe (具体原因不清楚,但是个人认为可能cmake是跨平台的工具,linux下面可能不需要exe后缀文件,因此放到windows平台这里也不写)。

cmake_minimum_required(VERSION 3.20)
project(vscode_cmake)
add_executable(result hello.cpp)
初次使用cmake应该注意的问题

很多朋友机器上都安装visual studio 2015或者以上版本的IDE,因为cmake会找寻系统中安装的C和C++编译器,在vs2015安装目录存在中文字符的情况下,cmake会找不到编译器,但是比较奇怪的是我个人的笔记本没有使用过vs2015这种IDE,而只是安装了MinGW的编译器也会有类似的错误提示,例如我个人在初次在powershell下使用cmake命令提示无法找到编译器,后来在网上搜索cmake无法找寻C编译器的问题时,看到B站的一个视频,这个视频的讲解者说明初次使用cmake配合MinGW的编译器要用到如下的命令(在视频的37分钟讲述,链接给出 https://www.bilibili.com/video/BV13K411M78v?p=2),首先进入bulid目录中,再打命令行。

上面的最后几行Configuring done Generating done 提示表示正确生成,应该注意到在进入build目录后,键入的命令为

cmake -G "MinGW Makefiles" ..

请注意后面还有两个“…” 这是因为CMakeLists.txt文件在build上一级目录中。
最后键入

mingw32-make

顺利构建目标 result.exe,当然运行result.exe要键入.\result.exe才能正确显示。

最后,还要说明这种方法只是适合MinGW+cmake在win10的使用,我个人没有测试Linux 系统,另外一旦使用cmake 构建出错,build目录下会生成错误的文件。为了避免异常情况,请及时清空build目录下面无用的错误生成的文件或者文件夹。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值