好记性不如铅笔头

C && C++, QT, 编程

使用QT和cmake编译和调试最简单的程序

CONTENTS

新建项目:

首先使用QT新建一个项目,这里选择【非QT项目 – 纯C项目(使用CMake构建)】,如下图:

项目命名为HelloQT,无须版本控制系统,构建路径默认即可。这里cmake默认指定参数,执行ccmake,如下图:

ccmake探测好本地环境之后,整个工程就可以编译运行了,如下图:

调试项目:

默认的项目调试会出现问题,选择调试时,会出现如下对话框:

是因为cmake默认产生的是release版本。这里笔记一种最简单的方法。
打开CMakeLists.txt文件,在文件的最后添加:

set( CMAKE_BUILD_TYPE Debug )

就可以了。
这里可以设置debug和release的编译参数,那么默认的参数是什么,可以再添加两句:
message(“The Debug Flag: ${CMAKE_CXX_FLAGS_DEBUG}”)
message(“The Release Flag: ${CMAKE_CXX_FLAGS_RELEASE}”)

然后选择【项目-构建-Run CMake 】,执行如下图,这里就可以看到默认的编译参数了:

也可以通过修改这两个变量来进行其他的操作。参考【 http://blog.sina.com.cn/s/blog_6b02ec9a0100vahz.html

备注:

1 cmake是一个功能很强大的编译辅助工具,作者对cmake没有研究,这里只笔记下最简单的一种方式。
2 关于CMAKE_BUILD_TYPE,可以参考【 www.cmake.org/cmake/help/v3.1/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type

CMAKE_BUILD_TYPE

Specifies the build type on single-configuration generators.

This statically specifies what build type (configuration) will be built in this build tree. Possible values are empty, Debug, Release, RelWithDebInfo and MinSizeRel. This variable is only meaningful to single-configuration generators (such as make and Ninja) i.e. those which choose a single configuration when CMake runs to generate a build tree as opposed to multi-configuration generators which offer selection of the build configuration within the generated build environment. There are many per-config properties and variables (usually following clean SOME_VAR_<CONFIG> order conventions), such as CMAKE_C_FLAGS_<CONFIG>, specified as uppercase: CMAKE_C_FLAGS_[DEBUG|RELEASE|RELWITHDEBINFO|MINSIZEREL]. For example, in a build tree configured to build type Debug, CMake will see to having CMAKE_C_FLAGS_DEBUG settings get added to the CMAKE_C_FLAGS settings. See also CMAKE_CONFIGURATION_TYPES.

 

发表评论

1 + 5 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据