网站首页 > 博客文章 正文
一、前言
大家好,我是ZhengN。
最近工作中需要把项目嵌入式Linux平台代码移到Windows上做仿真模拟,需要解决三个问题:
- 搭建工程。
- 一些动态库的准备。
- 替换掉一些平台相关的代码。
本篇笔记分享搭建工程的实操:
二、简介
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。
在Linux下,我们使用CMake工具来管理我们的工程的。而转到Windows下,我们需要搭建工程,如搭建基于Visual Studio的工程。
注意:Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。
这里我们使用的是Visual Studio,对于我们的工程来说,模块比较多,源码比较多,挨个文件添加到vs工程里比较慢,我们选用使用CMake来快速生成我们的vs工程。
三、CMake安装
首先需要下载、安装Windows版本的CMake工具:
官网下载链接:
https://cmake.org/download/
官网下载较慢,可以在本公众号后台回复关键词:CMake安装,即可获取。
下面安装CMake3.18:
CMake安装很简单,需要注意的是Install Options这一步要选择把CMake添加到系统环境变量中:
Add CMake to system PATH for all users。
安装完成之后按Win+r进入运行窗口,输入cmd后按回车来到命令行,输入cmake -version命令核实是否安装成功,出现如下界面说明已经安装成功:
四、使用CMake生成vs工程
进行一下操作之前当然要保证已经装好CMake工具及Visual Studio。
1、准备一个hello.c文件:
#include <stdio.h>
int main(void)
{
printf("hello world\n");
return 0;
}
2、准备一个CMakeLists.txt:
# CMake 最低版本号要求
cmake_minimum_required (VERSION 3.18)
# 项目信息
project (hello)
# 指定生成目标
add_executable(hello hello.c)
3、生成VS工程
进入命令行,输入命令转到hello.c及CMakeLists.txt所在目录:
cd /d xxx # xxx表示目录
然后输入Cmake .即可生成vs工程:
hello.sln就是生成的工程文件,双击打开即可进入vs:
解决方案管理器中除了hello工程之外,还有ALL_BUILD及ZERO_CHECK。这里默认选中ALL_BUILD,需要自己设置hello工程为启动项目。
ZERO_CHECK:
该目标会检查生成工程的 CMake 配置文件( CMakeLists.txt )是否更新。如更新,将运行 CMake 重新生成工程文件。
如果确信 CMakeLists.txt 不会被更新,或者希望手工运行 CMake 重新生成工程文件,可以在 CMakeLists.txt 配置文件中添加如下命令:
set(CMAKE_SUPPRESS_REGENERATION FALSE)
ZERO_CHECK 目标将不会生成。
ALL_BUILD:
该目标会导致工程中所有项目被构建,类似 Visual Studio 的 Build All 或者 make 的 make all命令。
以上就是以最简单的实例分享在Windows下使用CMake工具快速生成vs工程的实操。在实际工程中,当然不止hello.c这么一个源文件,会有多个文件夹及多层文件夹及更多的源码,但操作步骤都是这样的。工程结构复杂,则对CMakeLists.txt 的编写要求也越高。
五、资源下载
CMake工具安装文件私信回复关键词:CMake安装,我会第一时间发给你。
ZhengN的嵌入式资料汇总贴:
https://gitee.com/zhengnianli/EmbedSummary
猜你喜欢:
1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。私信回复1024,即可免费获取!
猜你喜欢
- 2024-10-12 FLAC 1.4相隔近十年发布新版 包含AArch64优化及更快的x86_64 FMA
- 2024-10-12 Qt6重磅更新:新版本的Qt 6 将通过包管理器提供附加库
- 2024-10-12 Centos7.4 如何使用cmake编译安装mysql
- 2024-10-12 CMake中find_path / find_library对于cache变量的选择
- 2024-10-12 热更新再牛,也少不了Android 增量更新
- 2024-10-12 C/C++开发工具CLion V2022.1正式发布——增强了远程开发
- 2024-10-12 「Linux」Makefile以及cmake(linux make makefile)
- 2024-10-12 CentOS8下YUM升级gcc(centos8 gcc版本)
- 2024-10-12 基于MSYS2的MINGW64 GCC和CMake在Win下VSCode里搭建SDL2开发环境
- 2024-10-12 cmake 的兄弟:xmake应用(cmake mdk)
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)