CMake与Make

大家都知道,写程序大体步骤为:

1.用编辑器编写源代码,如.c文件。

2.用编译器编译代码生成目标文件,如.o。

3.用链接器连接目标代码生成可执行文件,如.exe。

但如果源文件太多,一个一个编译时就会特别麻烦,于是人们想到,为什么不设计一种类似批处理的程序,来批处理编译源文件呢,于是就有了make工具,它是一个自动化编译工具,你可以使用一条命令实现完全编译。但是你需要编写一个规则文件,make依据它来批处理编译,这个文件就是makefile,所以编写makefile文件也是一个程序员所必备的技能。

对于一个大工程,编写makefile实在是件复杂的事,于是人们又想,为什么不设计一个工具,读入所有源文件之后,自动生成makefile呢,于是就出现了cmake工具,它能够输出各种各样的makefile或者project文件,从而帮助程序员减轻负担。但是随之而来也就是编写cmakelist文件,它是cmake所依据的规则。所以在编程的世界里没有捷径可走,还是要脚踏实地的。

所以流程如下:

转自: http://my.oschina.net/xunxun/blog/86781
### 使用 CMake 构建项目的方法 #### 创建基本的 `CMakeLists.txt` 文件 为了使用 CMake 进行构建,核心文件是 `CMakeLists.txt`。这个文件定义了项目的结构以及编译指令。 对于简单的项目,可以创建如下所示的基础配置: ```cmake cmake_minimum_required(VERSION 3.10) project(MyProject VERSION 1.0 LANGUAGES CXX) add_executable(${PROJECT_NAME} main.cpp) ``` 这段脚本指定了最低版本需求、项目名称及其版本号,并声明了一个可执行目标[^2]。 #### 配置第三方库支持 当涉及到外部依赖项时,如果这些库本身并不提供官方的 CMake 支持,则可能需要编写自定义查找模块来集成它们。这通常意味着要为那些不兼容 CMake 的第三库开发特定于平台或环境的支持代码[^3]。 #### 整合 Qt 到 CMake 工程中 针对基于 Qt 的应用程序,在 `CMakeLists.txt` 中加入对 Qt 库的支持可以通过调用 `find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)` 来实现。之后就可以像下面这样链接所需的组件到你的应用上: ```cmake set(CMAKE_AUTOMOC ON) set(CMAKE_CXX_STANDARD 17) find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED) add_executable(myapp main.cpp widget.ui form.qrc) target_link_libraries(myapp PRIVATE Qt5::Core Qt5::Gui Qt5::Widgets) ``` 此设置不仅启用了自动 MOC 处理还设置了 C++ 标准版本并找到了必要的 Qt 组件用于链接。 #### 生产适用于 macOS 的包或框架 虽然没有具体展示如何操作,但是确实能够通过调整 CMake 设置让其生成适合 Mac OS 平台的应用程序包 (bundle) 或者动态加载库 (framework),特别是在 Xcode 下工作的时候[^1]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值