从零开始记录Qt Creator构建cmake项目



  • 大家好哦,有很久没有写简单的教程了,虽然我们目前做的项目主要以qmake居多,但是不容忽视的是,cmake逐渐成为另一股C++主流构建方法,很多大型的IDE都内置了cmake的支持。这不,Qt Creator也能够支持cmake的构建了。好在我们非常熟悉Qt Creator的使用,这里向大家简单介绍一下cmake项目是如何一点一点构建的。

    从零开始

    这的确是从零开始哦。首先大家创建一个项目,选择的项目名称是普通的C++应用程序,如下图:
    0_1522059880118_2018-03-26-182406_882x556_scrot.png
    然后点击下一步:
    0_1522059905397_2018-03-26-182457_802x536_scrot.png
    这里注意了,要选择CMake而不是QMake。
    0_1522059957018_2018-03-26-182552_802x536_scrot.png
    然后选择大家熟悉的构建套件,这里其实没有太大的关系,因为第一个应用完全不用上Qt哈:
    0_1522059986828_2018-03-26-182621_802x536_scrot.png

    最后点击完成,即可。
    最后生成的文件可以说也是非常简单:CMakeLists.txt文件和main.cpp文件。

    大家肯定会好奇去双击看看CMakeLists.txt内容长什么样的,大概是这样的:

    # 规定了cmake的最小支持版本
    cmake_minimum_required(VERSION 2.8)
    
    # 规定了项目的名称
    project(cmake_tutorial_0)
    
    # 规定了项目的源文件名称
    add_executable(${PROJECT_NAME} "main.cpp")
    
    

    add_executable的文档在这里
    其实也算是非常简单的一个项目文件了。唯一需要注意的是${PROJECT_NAME}在CMake解析的时候会被替换成project()方法中设定的名称。详见这里

    好了,点击Qt Creator左下角的三角形,开始运行你的第一个cmake项目吧。

    正在启动 /media/jiangcaiyang/Develop_g/QtProject/build-cmake_tutorial_0-Desktop_Qt_5_10_0_GCC_64bit-Default/cmake_tutorial_0...
    Hello World!
    /media/jiangcaiyang/Develop_g/QtProject/build-cmake_tutorial_0-Desktop_Qt_5_10_0_GCC_64bit-Default/cmake_tutorial_0 退出,代码 0
    

    一个简单的HelloWorld程序就产生了!



  • 使用CMake编译Qt项目是从哪个版本开始提供的?而且使用cmake编译,我感觉实际上不需要官方的帮助,之前就见过有人用cmake编译qt项目。当然,官方支持更好。

    不过头大,qmake还没完全熟悉呢,又要学习cmake。



  • @stlcours CMake主要给那些长期使用CMake项目提供一个界面友好的IDE。其实用CMake-GUI也可以达到效果。此外,CMake的脚本解析方式和qmake也是差不多的,很多概念CMake和qmake是共通的。



  • 使用CMake在 Qt creator 下构建项目有一些不太方便的地方,比如不能像qmake那样直接在项目里添加文件,我16年的项目就全是CMake建构的,那时候也是使用 Qt Creator 作为IDE,不知道现在新版的 Qt Creator 对CMake 的支持好一点了没有



  • @药师 这个我想应该没有什么问题。Qt Creator现在打算支持三种构建方式:qmake、cmake和qbs。



  • @jiangcaiyang 嗯,qbs的话,前段时间编一些开源库的时候用了,但是感觉。。。怎么说,可能是我接受不了新东西?不是那么方便。



  • @药师 作为一个试点,qbs支持构建Qt Creator应用。还有一个网友@qyvlik 也多多尝试了qbs应用,这个新的方式什么时候能够被“扶正”,还是要看时间的推移。



  • cmake构建Qt么?
    我可以分享一个我的使用方法




Log in to reply
 

走马观花

最近的回复

  • H
    Toou 2D 拿来即用,为简单而生。

    简称T2D,是一款采用自身模块规范编写的轻量级UI框架,遵循Qt书写与组织形式门槛极低无需深入学习简单易用可拿来即用,丰富的控件模块适合界面的快速开发,让程序人员拥有更多的精力来实现业务逻辑与算法。

    统一交互规范,丰富的Ui控件几十种常用控件放弃了Qt Controls 及 Controls 2 来提高性能。

    完善的主题系统,业务逻辑与界面主题设计分离,可通过简单修改变量自定义主题皮肤。灵活的多主题皮肤绑定机制、在不需要重启App即实现一键换肤

    ini皮肤配置规则与每一个控件融合。可在应用内配置也可在应用外动态扩展配置。

    框架自动化安装支持动态库、静态库多模式编译。使用方便更安全更自由。

    提供丰富Demo、全面的帮助文档,Api查阅快速方便。项目必备开源框架!

    已经集成最新版 Font Awesome 4.7

    开源地址:https://github.com/ShowFL/Toou-2D

    read more
  • 刚刚毕业,工作用QT开发,以后有问题多多请教各位前辈😬 抱拳了。

    read more

关注我们

微博
QQ群