爱情原如树叶一样,在人忽视里绿了,在忍耐里露出蓓蕾。 —— 何其芳

使用CMake作为构建系统,需要自己写CMakeLists.txt,相当于qmake下的pro。

1 打开用CMakeLists.txt组织的工程:

下面是用qt creator 3.5.1做的实验:

点击file---打开文件,找到CMakeLists.txt文件,然后会弹出如下图所示的对话框,qt creator会询问你是否在存放CMakeLists.txt的文件夹的同级目录下建立另一个文件夹xxx-build,亦可以自己指定。 后面运行cmake,编译时生成的中间文件以及最终的可执行文件都会存放在这个文件夹。   相当于自己手动调用cmake编译时,一般先建立一个名字为bulid的文件夹,然后,在命令行下将路径切换到build文件夹内部,运行 cmake "CMakeLists.txt所在的路径"

同时,它会让你在下图的Arguments行输入cmake指令,我用的是cmake 后面跟CMakeLists.txt的全路径,即如果CMakeLists.txt存放在/home/bb/cc文件夹,则cmake /home/bb/cc。

Generator行,我选择的是下图的,还有一个Ninja(Desktop Qt5.5.1 GCC 32bit)可以选择,不知道是什么。

然后点击Run Cmake按钮,运行完后会提示:Build files have been written to: xxx。最后点击finish按钮,就可以进入正常的编辑界面了,所有的文件都会组织好,显示出文件树。

现在高版本的qt creator,例如qt creator4.6,打开该种工程时,可以直接选择CMakeLists.txt,qt creator会自动配置好,可以选择build目录。

cmake的版本问题:

CMakeLists.txt文件的第一句一般对cmake的版本有要求例如:

cmake_minimum_required(VERSION 3.10)

如果当前使用的版本过低,安装高版本即可:https://blog.csdn.net/qq_35865125/article/details/81557738

例如在linux下安装,我曾经安装到了/usr/local/Cmake3.12.1路径下,然后通过qt creator的tool--options调出cmake设置界面,进行选择即可:

然后,为你使用的kit选择最新的cmke:

2 使用qt creator进行单步调试:

方法一:(原文作者并不推荐)由于CMake默认产生的是Default/release版本。可以手动编辑CMakeLists.txt文件,在文件的最后添加: 
set(CMAKE_BUILD_TYPE Debug),再次构建即可。

--------------但是,我将添加前后生成的makefile进行了比较,并没有任何区别。可能区别在与其他地方吧,如果不在最后添加set(CMAKE_BUILD_TYPE Debug)的话,一点击debug就会报错:

还可以在命令行设置:--亲测可行:

cmake  -DCMAKE_BUILD_TYPE=Debug ..

注意每次CMakeLists.txt改变后,最好重新Run CMake,然而arguments不必每次都填写,因为cmake会在CMakeCache.txt中记录以前所有添加过的参数。如果你改变了CMake的参数,则直接删除CMakeCache.txt,重新生成,否则有问题。另外,在qt creator中点击clean按钮并不会清楚CMakeCache.txt。

build时,release模式和debug模式的区别是什么,是不是debug模式时,添加了更多的调试信息,以为单步执行做准备?。

方法二:(qt creator3.5.1中并没有相应的操作,qt creator4.6中有!相当方便!)

工程默认的构建方式是Default,也就是release的意思。需要调整为Debug才能实现单步断点调试。

勾选完成Debug之后,请在菜单->Build点击选项“Run CMake”即可。

3 如何添加C++/C源文件和头文件?又如何添加第三方依赖库库和头文件?

唯一的方式就是手动修改CMakeLists.txt文件。右键点击工程名字后弹出的框中,add file是灰色的,所以qt creator并不支持自动添加文件到cmakelists组织的工程,自己动动爪子。

ref:

https://blog.csdn.net/libaineu2004/article/details/78448392

https://blog.csdn.net/darkdong/article/details/6094336

使用qt creator来编译 调试 用CMakeLists组织的工程的更多相关文章

  1. Qt Creator配置MSVC调试器

    安装完QT后会看到Qt Creator中的MSVC构建组件带有黄色的感叹号,那是因为没有调试器的原因.由于Qt-MSVC版本套件没有默认安装调试器, 需要我们自己手动下载安装. 根据官方文档http: ...

  2. Qt creator自定义编译运行步骤

    一直用Qt creator开发.无它,只是因为linux下C++ IDE选择不多.同时因为我抛弃了MFC,平时写个小工具还得靠Qt,正好一举两用. 用Qt creator开发一般的工程,是不用修改编译 ...

  3. Qt Creator 中文编译失败 怎么办

    在Qt Creator 中c++源码有中文字符,结果不能编译成功. 代码 QMessageBox::warning(this, "警告","用户名密码错误",Q ...

  4. windows下,Qt Creator 中javascript调试器安装并使用

    最开始使用Qt Creator时,想使用断点来调试javascript代码.但在按下debug键后,却提示调试器未配置,让我比较郁闷. 好了,郁闷的是说了,咱们来说说高兴的.要Qt Creator调试 ...

  5. Ubuntu中Qt Creator无法启动调试

    Ubuntu下安装Qt creator后无法启动调试,报错为Ptrace:Operation not permitted. 产生原因: 在Ubuntu 11.04("Natty Narwha ...

  6. 【ARM-Linux开发】【Qt开发】Qt Creator自定义编译运行步骤

    原文:http://www.linuxidc.com/Linux/2015-04/115763.htm 一直用Qt Creator开发.无它,只是因为linux下C++ IDE选择不多.同时因为我抛弃 ...

  7. Qt Creator 中关于调试器的设置

    Qt Creator3.4.2 Based on Qt 5.5.0 (MSVC 2013, 32 bit) 在安装了VS2013的电脑上能够自动识别VS编译器,却不能识别调试器 需要下载一个wdk,安 ...

  8. IMX6开发板qt creator直接编译ARM架构程序

    除了通过 11.2.2 小节通过命令行的操作来编译在 iTOP-imx6 开发板上运行的程序,还可以直接在 qtcreator 上设置,然后每次编译的程序都可以在开发板上运行.如下图所示,打开 qtc ...

  9. Linux上使用Qt Creator进行C/C++开发

    目录[-] 1.安装Qt Creator和基础构建环境(以Ubuntu为例): 2.把自动完成快捷键"Ctrl+空格"改为"Alt+/"或者"Shif ...

随机推荐

  1. C语言实现文件类型统计函数

    #include<dirent.h> #include<limits.h> #include<sys/stat.h> #include<stdio.h> ...

  2. Python3OS文件/方法

    Python3OS文件/方法 os模块提供了非常丰富的方法用来处理文件和目录. 方法 描述 os.access(path,mode) 检验权限模式 os.chdir(path) 改变当前工作目录 os ...

  3. Python和多线程(multi-threading)。这是个好主意码?列举一些让Python代码以并行方式运行的方法。

    Python并不支持真正意义上的多线程.Python中提供了多线程包,但是如果你想通过多线程提高代码的速度,使用多线程包并不是个好主意.Python中有一个被称为Global Interpreter ...

  4. SpringData :下划线的那些破事

    今天写一个查询语句的时候,报错如下 org.springframework.beans.factory.BeanCreationException: Error creating bean with ...

  5. 【知识点】同样是消息队列,Kafka凭什么速度那么快?

    同样是消息队列,Kafka凭什么速度那么快? 作者 | MrZhangxd Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafk ...

  6. 进入tomcat6的控制台

      在tomcat文件夹找到conf文件夹中的tomcat-user.xml文件, 用记事本打开,在最下面可以看到tomcat默认把用户注释掉了,也就是说打开tomcat主页是进不去管理页面的. 方法 ...

  7. 如何登陆Tomcat的控制台

    当我们成功安装启动Tomcat服务后,在浏览器输入http://localhost:8080(8080是Tomcat的默认端口,可自行修改)回车 右上角可以看到三个控制台:Server Status. ...

  8. MAC 上抓取网页数据的工具有哪些?

    我希望能够从网页上, 比如气象局数据, 财经数据等等, 我看到官方提供的数据都比较混乱, 有的是一个php文件, 有的是一个文本, 有的干脆不提供数据, 我想问, Mac上, 用什么工具去抓数据, 以 ...

  9. 谈谈你对This对象的理解?

    1.this总是指向函数的直接调用者(而非间接调用者):2.如果有new关键字,this指向new出来的那个对象:3.在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent ...

  10. php 将office文件(word/excel/ppt)转化为pdf(windows和linux只要安装对应组件应该就行)

    一.配置环境 (1)配置php.ini 添加:extension=php_com_dotnet.dll com.allow_dcom = true  // 去掉号,改为true 重启环境 (2) 安装 ...