将Qt Creator导入Cmake项目

用CMake管理项目非常方便。忘记怎么用的话,看看另外一篇笔记。之前用cmake做了几个wxWidgets和c++的小练习。之前是用Editplus或UltraEdit作为文本编辑器的。最近一段时间一直在学习Qt。Qt也可以方便的集成MS visual studio中,但除了C#,其他语言的项目在vs中并不能体现出vs的优势。所以再挖掘qtcreator的潜力,以后电脑上就只需要Editplus,vs和qtcreator这几个工具了,这样很方便。


1、在Qt Creator中设置CMake

工具-----选项----构建和运行,到CMake的tab页,选择cmake的安装路径。

2、打开CMake项目

文件----打开文件或工程,选择CMake项目中根目录下的CMakeLists.txt文件,这时会运行CMake向导,需要选择CMake项目构建的目录。为了与CMake项目的一般处理形式一致,我选择在项目的根目录中的build作为qmake的影子模式构建(Shadow build)目录。

下一步:设置CMake参数并执行CMake:

-G参数为CMake指定要生成什么编译器的Makefile,我这里使用MinGW。如果机器中有多个不同的MinGW,创建器也记得选择一下。

设置完参数后,开始"执行CMake",很快会生成Makefile。到这里,已经在qtcreator IDE成功打开CMake项目。

4、构建项目

到这里,项目已经成功打开。单击qtcreator左下方的小榔头,开始构建:

happy了。这次构建的是一个wxWidgets的小工程,非常顺利,与CMake、MinGW直接用命令行一样方便。

 

总结一下:用CMake就是为了方便生成不同编译器的Makefile,包括vs的SLN等等。这些都可以在CMake的项目中进行指定,然后在qt中,项目属性中设置工具链。例如-G 的时候指定生成vs的Makefile,在工具链中再指定nmake为编译器,那么,vs都不用打开,项目已经编译成功,而且其他同事用VS一样可以很方便的打开项目,真正做到无缝生产了。当然,这些其实都是CMake的优点,与qtcreator没有什么关系。qtcreator在这里只是个文本编辑器。


### 如何在 Qt Creator 中创建仅含 CMakeLists.txt 文件的 CMake 工程 #### 打开 Qt Creator 并设置构建套件 为了确保能够顺利使用 CMake 构建工具,在启动 Qt Creator 后应先确认已配置好合适的构建套件。这可以通过导航到 `Projects` -> `Manage Kits...` 来完成,其中需保证至少有一个包含支持 CMake 的编译器选项被选中[^3]。 #### 导入现有 CMake 项目 当准备就绪后,可通过菜单栏中的 `File` -> `Open File or Project...` 浏览并选择本地磁盘上的 `CMakeLists.txt` 文件以加载已有 CMake 配置文件。一旦选择了该文件,Qt Creator 将自动解析其内容并初始化相应的项目结构[^2]。 #### 初始化新项目CMakeLists.txt 文件 如果尚未有现成的 `CMakeLists.txt` 文件,则可以在任意目录下新建此文本文件,并向其中输入基础模板代码如下所示: ```cmake # CMake最低版本需求 cmake_minimum_required(VERSION 3.5) # 设置项目名称及其默认版本号 project(MyProject VERSION 0.1 LANGUAGES CXX) # 定义可执行目标以及源码位置 add_executable(${PROJECT_NAME} main.cpp) ``` 保存上述内容至名为 `CMakeLists.txt` 的纯文本文件内;随后按照前述方法通过 Qt Creator 加载即可形成完整的开发环境[^4]。 #### 运行 CMake 配置过程 成功导入或创建之后,还需要让 Qt Creator 对当前工作区运行一次完整的 CMake 处理流程以便生成内部使用的 Makefile 或者其他平台特定的构建脚本。这一操作一般会在首次打开项目时由 IDE 自动触发,但如果遇到任何问题也可以手动尝试重新执行 “Run CMake”。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值