window Cmake开发环境搭建

news/2024/7/7 21:47:04

背景

最近的项目需要从linux转战至Windows。因为之前的项目都是在linux环境下开发的,代码也是通过CMAKE编译。攻欲善其事,必先利其器。首先要考虑的是如何在Windows环境下使用cmake编译代码。

另外一个就是IDE的选择了,相比于动辄 好几个G的Visual Studio来说,vscode 的安装以及多种功能强大的插件,所以还是还是选择它(只是因为习惯了。。。)。

现将过程记录如下,有需要的小伙伴可以参考。

cmake下载

CMake下载地址,这里我们选择 win-x86,下载完双击打开(注意:1.安装的时候选择中间的 for all user;2. 勾选add into path 加入环境变量)。
在这里插入图片描述
进入cmd终端,输入 cmake --verison 出现版本号即安装成功。默认安装路径:C:\Program Files\CMake\bin
在这里插入图片描述

MinGW-w64安装

MinGW,是Minimalist GNU for Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。——来自百度百科

因为 MinGW-w64 可以编译生成 64位 或 32位 可执行程序,而 MinGW 只能编译生成32位可执行程序,现在已经很少用了。

MinGW-w64下载地址,进去后往下拉,当前最新版本是GCC-8.1.0,下载后解压,添加环境变量:系统->高级系统设置->环境变量->系统环境变量->新建 将自己解压后的路径添加进去即可,注意路径尽可能不要有中文。

在这里插入图片描述
进入cmd终端,输入 cmake --verison 出现版本号即安装成功,如果没有检查环境变量与自己解压的位置。
在这里插入图片描述

vscode插件安装

c++ 、 CMake、CMake Tools

在这里插入图片描述在这里插入图片描述

代码测试

目录结构:
在这里插入图片描述
hello.h

#ifndef __HELLO_H__
#define __HELLO_H__

#define HELLO  "hello, world!"

#endif // __HELLO_H__  

main.cpp

#include <iostream>
#include "../include/hello.h"

using namespace std;
int main(void) 
{
    cout << "Hello, world!" << endl;
    cout << HELLO << endl;
    return 0;
}

CMakeLists.txt

#CMake 最低版本号要求
cmake_minimum_required(VERSION 3.0.0)

#指定工程名
project(main VERSION 0.1.0)

#指定C++ 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)

#指定头文件所在的路径
include_directories(${PROJECT_SOURCE_DIR}/include)

#在 ${PROJECT_SOURCE_DIR}/src 路径下搜索.cpp源文件
aux_source_directory(${PROJECT_SOURCE_DIR}/src ALL_SRCS)

#查找当前目录下的所有源文件
#并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)

#生成可执行文件 main.exe
add_executable(main ${ALL_SRCS})

在test目录下,

mkdir build
cd build
cmake -G "MinGW Makefiles" ../     # 生成Makefile文件
mingw32-make   

想要使用 make 也能编译。需要找到将bin目录下的mingw32-make.exe 复制一份 重新命名为make即可
在这里插入图片描述
在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1240465.html

相关文章

彻底删除的文件还能恢复吗?试试它

在我们使用电脑时&#xff0c;不可避免地会遇到需要删除某些文件的情况。当我们使用“删除”键或者右键菜单中的“删除”选项时&#xff0c;文件并没有被完全删除&#xff0c;而是被移动到了回收站中。如果我们想要恢复这些文件&#xff0c;只需要打开回收站&#xff0c;找到对…

paddleseg模型解说——fcn

fcn_hrnetw18_voc12aug_512x512_40k.yml 配置文件定义了一个最基本的FCN网络。 #模型信息 model:#模型的类型FCNtype: FCN#使用的主干网络为HRNet backbone:type: HRNet_W18#主干网络的预训练模型的下载地址。pretrained: https://bj.bcebos.com/paddleseg/dygraph/h

3. SpringCloudAlibaba、nacos 实现配置中心

一、微服务中配置文件的问题 1.1 配置文件的问题&#xff1a; 配置文件的数量会随着服务的增加持续递增单个配置文件无法区分多个运行环境配置文件内容无法动态更新&#xff0c;需要重启服务 1.2 引入配置中心 引入配置中心&#xff1a;刚才架构就会成为这样。是由配置中心统…

软测量技术论文

软测量技术论文篇一 软测量技术在污水处理中的应用 摘要&#xff1a;近年来软测量技术的研究主要是基于人工神经网络&#xff0c;它对非线性问题有较好的处理能力&#xff0c;对求解结果有较好的泛化能力&#xff0c;由于实际生活中严格意义上的线性系统并不多见&#xff0c…

SIFT算法

文章目录 1. SIFT算法简介1.1 SIFT特征检测步骤1.2 SIFT算法的特点 2. SIFT算法原理2.1 尺度空间2.1.1 多分辨率金字塔2.1.2 高斯金字塔2.1.3 高斯尺度空间&#xff08;使用不同的参数&#xff09; 2.2 DoG空间极值检测&#xff08;查找关键点&#xff09;2.3 删除不好的极值点…

报表工具Stimulsoft Reports用户手册:如何激活控件

Stimulsoft Reports.Net是一个基于.NET框架的报表生成器&#xff0c;能够帮助你创建结构、功能丰富的报表。StimulReport.Net 的报表设计器不仅界面友好&#xff0c;而且使用便捷&#xff0c;能够让你轻松创建所有报表&#xff1b;该报表设计器在报表设计过程中以及报表运行的过…

微服务学习笔记--高级篇--(Redis主从)

Redis主从 搭建主从架构主从数据同步原理 搭建主从架构 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离。 搭建主从架构 1.1集群结构 共包含三个节点&#xff0c;一个主节点&#xff0c…

[Daimayuan] nice party(C++,二分,贪心)

cc准备举办一场派对&#xff0c;他希望邀请他的朋友们过来参加&#xff0c;并且每个人都能玩得开心 cc有 n n n 位朋友&#xff0c;第 i i i 位的身价为 i i i 如果第 i i i 位朋友参加派对&#xff0c;并且玩得开心&#xff0c;当且仅当派对上至多有 X i X_i Xi​ 个人…