window Cmake开发环境搭建

简介: window Cmake开发环境搭建

背景

最近的项目需要从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即可

相关文章
|
弹性计算 数据安全/隐私保护 计算机视觉
|
3月前
|
人工智能 供应链 监控
站在岔路口的1688商家,是观望,还是在新赛道中寻找机会?
1688商家正面临流量下滑的严峻挑战,平台转型、算法升级与外部竞争加剧使传统运营模式难以为继。面对困境,主动求变才是出路:通过内容化转型、直播短视频、数据驱动和私域沉淀等新策略,提升数字化能力与客户价值。唯有创新升级,才能穿越周期,赢得未来。
|
10月前
|
XML 自然语言处理 文字识别
SmolDocling技术解析:2.56亿参数胜过70亿参数的轻量级文档处理模型
SmolDocling是由HuggingFace与IBM联合研发的超紧凑视觉模型,专为端到端文档转换设计。基于SmolVLM-256M开发,参数量仅2.56亿,却媲美大型模型性能。其核心创新在于DocTags格式,一种类XML标记语言,能全面表示文档内容与结构。SmolDocling通过端到端架构实现图像理解与文本生成整合,在文档分类、OCR、布局分析等任务中表现出色。评估显示,其在多项指标上优于大参数量模型,适用于资源受限场景,推动文档处理技术发展。
246 8
SmolDocling技术解析:2.56亿参数胜过70亿参数的轻量级文档处理模型
|
8月前
|
供应链 数据可视化 开发者
供应链可视化工具:穿透全球贸易的迷雾
企业面临三重供应链挑战:多级库存失控、物流黑箱延误、风险传导滞后,导致巨额损失。破局需构建三维透视引擎——库存神经图谱、物流穿透雷达、风险预警熔断器。结合板栗看板、FourKites、Resilinc、Elementum等工具,打造高可视、强响应、韧性强的数字供应链体系,迎接2028年可视化竞争时代。
供应链可视化工具:穿透全球贸易的迷雾
|
10月前
|
存储 算法
飞桨x昇腾生态适配方案:09_Paddle转ONNX
本节主要介绍如何将 PP-OCRv4 模型转化为 ONNX 模型,包括环境准备、模型下载、训练模型转 inference 模型及最终转为 ONNX 格式的过程。首先需安装 Paddle2ONNX 和 ONNXRuntime,接着下载并解压训练模型。通过 `export_model.py` 脚本将训练模型转化为 inference 模型,生成包含结构和参数的文件。最后使用 Paddle2ONNX 工具完成到 ONNX 格式的转换,并可选地使用 onnxslim 进行模型优化。各步骤均提供详细命令与参数说明,便于实际操作与部署。
639 9
|
安全 Linux 测试技术
OS 升级迭代与向前向后兼容问题
本次分享的主题是OS 升级迭代与向前向后兼容问题,由中科方德内核研发工程师李力琼分享。主要分为四个部分: 1. OS更新的兼容性问题 2. 内核API向后兼容 3. 内核API向前兼容 4. 内核API的修改
442 2
|
机器学习/深度学习 监控 机器人
量化交易机器人系统开发逻辑策略及源码示例
量化交易机器人是一种通过编程实现自动化交易决策的金融工具。其开发流程包括需求分析、系统设计、开发实现、测试优化、部署上线、风险管理及数据分析。示例中展示了使用Python实现的简单双均线策略,计算交易信号并输出累计收益率。
|
前端开发
HTML代码示例
HTML代码示例
341 1
|
存储 小程序 中间件
单片机中MCU跑RTOS相比裸机的优势
单片机中MCU跑RTOS相比裸机的优势
469 1

热门文章

最新文章