使用Qt Creator作为Linux IDE,实现CMake编译和单步调试

9 篇文章 0 订阅

原文链接https://blog.csdn.net/libaineu2004/article/details/78448392

一、前期准备

1、安装Linux系统,例如CentOS 7,带桌面,GNOME安装

2、安装qt-opensource-linux-x64-5.9.1.run

3、安装CMake,参考教程:CentOS 7安装cmake 2.8.12.2

 

二、新建C/C++工程,选择“与Qt库无关”的工程

Bulid system请选择CMake

新建工程完毕,会在路径下生成CMakeLists.txt文件。下次需要打开工程时,qtcreator菜单打开文件/工程,选择CMakeLists.txt文件即可。

 

三、如何实现单步调试

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

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

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

 

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

唯一的方式就是手动修改CMakeLists.txt文件,详情见

CMake使用示例与整理总结

CMake处理多源文件目录的方法 请关注多文件的添加方法aux_source_directory

多目录工程的CMakeLists.txt编写(自动添加多目录下的文件) 请关注多文件的添加方法aux_source_directory

举例1:

 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x -g -Wall -O0 -Wno-unused-variable -pthread")

link_directories(
    ${PROJECT_SOURCE_DIR}/lib
	/usr/lib64/mysql/
)

find_library(MYSQL_LIB libmysqlclient.so /usr/lib64/mysql/)
IF (NOT MYSQL_LIB)
    MESSAGE(FATAL_ERROR "mysqlclient not found")
ENDIF(NOT MYSQL_LIB)

set(net_srcs 
base/timestamp.cpp
base/countdownlatch.cpp
)

举例2:

set(SRC_LIST main.c hello.c)
add_executable(hello ${SRC_LIST})
这样写set当然没什么问题,但是如果源文件很多,把所有源文件的名字都加进去将是一件烦人的工作。更省事的方法是使用 aux_source_directory 命令,该命令会查找指定目录下的所有源文件,然后将结果存进指定变量名。其语法如下:aux_source_directory(<dir> <variable>)
aux_source_directory(. DIRSRCS)
add_executable(hello ${DIRSRCS})

学习CMake请参考《CMake Practice》这篇文章,旨在指导用户快速使用CMake,如果需要更详细的内容,请通读《CMake Practice》这篇文章。下载路径:http://sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf

 

五、如何实现远程调试

请访问姊妹篇《使用Qt Creator作为Linux IDE,代替Vim:实现两台Linux电脑远程部署和调试(一台电脑有桌面系统,一台电脑无桌面系统)》,网址是:http://blog.csdn.net/libaineu2004/article/details/62423830

注意:CMake远程生成的目标路径,默认是/root/xxx。可以手动修改CMakeLists.txt文件更改输出路径,SET(EXECUTABLE_OUTPUT_PATH "***").如此一来开发机和目标机的路径都会有生成结果。我的实测结果是,貌似路径里面有home目录,目标机就不行?例如SET(EXECUTABLE_OUTPUT_PATH "/home/12/"),结果文件开发机在,但是目标机并不在,而是会在根目录生成/12的文件夹。再比如"/home/firecat/test"目标机也不在,而是根目录下生成"test"文件夹。

 

cmake_minimum_required(VERSION 2.8)

project(untitled)
add_executable(${PROJECT_NAME} "main.cpp" "test.cpp")
##SET(EXECUTABLE_OUTPUT_PATH "/home/firecat/test/")
SET(EXECUTABLE_OUTPUT_PATH "/hellotest/12/34")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Qt项目的创建,可以使用两种常见的构建系统:QMake和CMake。 1. QMake: QMake 是Qt官方提供的构建系统,它使用 .pro 文件来描述项目的结构和配置。以下是使用QMake创建一个简单的Qt项目的步骤: - 打开Qt CreatorQt官方IDE)或者使用命令行。 - 选择 "新建项目",然后选择 "Qt Widgets Application"(或者其他依赖于你的项目类型)。 - 设置项目的名称和保存路径,然后点击 "下一步"。 - 选择要使用Qt版本和编译套件,然后点击 "下一步"。 - 在下一步中,你可以添加自己的源文件、资源文件等,然后点击 "下一步"。 - 最后点击 "完成" 来创建并打开项目。 QMake将自动生成一个 .pro 文件和一个 .pri 文件。你可以使用命令行中的 qmake 命令来生成 Makefile,并使用 make 命令进行编译和链接。 2. CMakeCMake 是一个跨平台的开源构建系统,它可以生成各种不同构建系统(如Makefile、Visual Studio等)所需的文件。以下是使用CMake创建一个简单的Qt项目的步骤: - 创建一个 CMakeLists.txt 文件,并将其保存在你的项目根目录中。 - 在 CMakeLists.txt 文件中添加必要的指令和配置信息来描述你的项目。 - 打开命令行,并导航到你的项目根目录。 - 创建一个 build 目录(可以是任意名称)并进入该目录。 - 运行命令 `cmake ..` 来生成构建系统所需的文件。 - 运行命令 `make` 进行编译和链接。 无论你选择使用QMake还是CMake,都可以根据自己的需求进行项目配置和构建。如果你是初学者,建议先从QMake开始,因为它与Qt Creator集成得更好,更易于上手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值