mingw-w64在sourceforge网站的下载链接为:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
MinGW-x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z,别的方法都是比较扯,或者我搞不定吧
输入:gcc -v
最后一行出现gcc version字样即代表安装成功
[linux]
1)下载cmake-3.8.2.tar.gz :
- 在主文件夹下新建tools/文件夹,将cmake-3.8.2.tar.gz解压之后放在tools/中,为了防止出现权限不足问题,直接对文件更改权限:
解压:sudo tar -zxvf cmake-3.8.2.tar.gz
赋权限:sudo chmod -R 777 cmake-3.8.2
3)a安装gcc-c++:
sudo apt-get install build-essential
或者直接执行这两条命令
sudo apt-get install gcc
sudo apt-get install g++
4)进入文件夹下执行以下命令:
sudo ./bootstrap
sudo make
sudo make install
5)查看是否安装成功以及安装版本:
cmake --version
注:
1.安装3.19.1时报错,显示openssl查找不到
安装openssl和编译依赖
sudo apt install openssl
sudo apt install libssl-dev
2.cmake-gui配置
sudo apt install qt5-default
cmake 目录下./configure --qt-gui
make
————————————————
原文链接:https://blog.youkuaiyun.com/qq_42393859/article/details/85251356
CMake安装指南
下载:点击本页面提供的下载链接,下载 CMAKE 3.25 的 .msi 安装包。
安装:双击下载好的 .msi 文件,按照向导步骤进行安装。推荐选择“添加到PATH”选项以便全局使用。
验证:安装完成后,打开命令提示符或PowerShell,输入 cmake --version,如果显示 CMake 3.25 的版本信息,则表示安装成功。
使用示例
对于新建项目的基本使用流程:
在项目根目录下创建 CMakeLists.txt 文件。
编辑 CMakeLists.txt 来指定项目配置。
cmake_minimum_required(VERSION 3.25)
project(YourProjectName)
添加你的源代码和其他设置
打开命令行工具,切换到项目目录,执行 cmake . 来生成构建文件。
运行 cmake --build . 自动构建项目(或者根据生成的解决方案文件在IDE中构建)。
注意事项
确保关闭所有依赖CMake的开发环境或编辑器,以避免安装时可能出现的冲突。
老版本的CMake与新版本并存时,可能会对系统的PATH环境变量产生影响,请谨慎操作。
- CMake
CMake与Makefile不同,Makefile的编写比较依赖平台,在不同的平台上兼容性比较差,CMake作为一个构建工具最明显的优点是可以跨平台使用,并且目前市面上大部分的集成编译器都自带CMake,这使得CMake使用更加方便快捷。
其步骤如下:
编写源代码–编写CMakeList.txt–执行CMake命令–生成Makefile文件–make–生成可执行文件
在Linux构建项目时候对应的步骤如下:
cd 项目文件夹
mkdir build
cmake ..
make
最后在build文件夹中生成./可执行文件
- 基础CMake命令
2.1 注释
单行注释:
后面写注释内容
1
多行注释:
#[[***********]] ***为注释的内容
2.2 CMake版本定义
CMakeList在编写时候一般前几行都会写上CMake的版本以及C++的版本号。
cmake最小所需版本号
cmake_minimum_required(VERSION 3.26)
项目名称
project(cmake_test)
C++标准
set(CMAKE_CXX_STANDARD 17)
其中这个set(CMAKE_CXX_STANDARD 17)表示此程序是以C++17作为标准进行编译的有一些像g++在编译程序时候指定版本一样:
g++ test.cpp -std=c++17 -o test
2.3 设置变量的值set
在CMake中,set命令用于设置变量的值。它的语法是:
SET 指令的语法是:
[] 中的参数为可选项, 如不需要可以不写
SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]])
var 是要设置的变量的名称。
value 是要为变量设置的值。
CACHE 是一个可选项,它用于将变量缓存,以便在后续构建中保留其值。
type 是变量的数据类型(例如,STRING,FILEPATH,BOOL等)。
docstring 是对变量的描述文档
比如我现在有四个 .cpp文件,我想把这几个cpp文件设置成一个变量,我可以用一下的语法修改:
set(LIB_LIB a.cpp b.cpp c.cpp d.cpp)
如果下次需要同时访问这几个cpp文件时直接访问LIB_LIB就可以,注意要写成${LIB_LIB}的形式比如:
add_executable(app ${LIB_LIB}) # 吧LIB_LIB生成一个可以执行的文件
2.4 文件搜索
当我们一个项目中含有很多原文件但是我们不想一个一个添加的时候需要用到搜索命令来进行处理: