将CMakeList.txt工程导入到Qt Creator

最近在调试车牌识别EasyPR,直接使用Vim编写也是可以,但是对于很多习惯用IDE编写程序的码农来讲,Qt是linux下编程的一个好工具,本文其实是结合Ogre Wiki的Qt Tutorials[1]和网上的相关blog[2-4]来做个小结。

一 、打开项目

  1. 按以下顺序打开项目:
    【Qt Creator】→【File 】→【Open File or Project..】(或者快捷键Ctrl+O),打开对应的“CMakeLists.txt”文件,如图所示:


    将CMakeList.txt工程导入到Qt Creator_第1张图片
    打开“CMakeLists.txt”
  2. 选择编译路径
    按照1.后会弹出以下窗口,就是选择编译生成的路径,由于EasyPR的编译脚本如下所示:

#!/usr/bin/env bash

rm -rf build
mkdir build
cd build
cmake ..
make

所以我就没有使用Qt Creator给出的默认路径。

/home/robot/workspace/EasyPR-build

而是改成:

/home/robot/workspace/EasyPR/build

对于其他CMakeList.txt项目的导入,也根据需求配置路径,免得后面出现问题。

  1. 运行CMake
    对于EasyPR项目,直接点击【Run CMake】即可完成编译,如下图所示:


    将CMakeList.txt工程导入到Qt Creator_第2张图片
    Run CMake EasyPR

CSDN的一个博主deng_sai指出[2]

此处可能点击Run CMake后Qt Creator 没反应。可能是Qt Creator的CMake的执行命令的路径没指定。
按序点击:Projects->Manage Kits...->Build & Run -> CMake(可以指定为cmake,也可直接指定cmake-gui。不过假如首先指定的是cmake-gui,run cmake后可能无法显示导入的工程文件,需要再次指定为cmake后再一次run cmake)

点击【Finish】
项目的文件结构已经显示在Qt Creator中了:


将CMakeList.txt工程导入到Qt Creator_第3张图片
Qt Creator
  1. 修改项目名
    可以通过修改“CMakeLists.txt”中的
project(easypr)

来修改Qt Creator中显示的项目名,如改为:

project(EasyPR)

保存后右键点击项目easypr [master]后点击【Run CMake】,再执行步骤3. 的【Run CMake】,然后【Finish】返回到Qt Creator的主界面。

PS:完成以上步骤1-3后,项目已经编译完成,会有可执行文件在CMakeList.txt中指定的路径中了,如下:
# MESSAGE(${CMAKE_BINARY_DIR}/../)
SET_TARGET_PROPERTIES(${EXECUTABLE_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY  "${CMAKE_BINARY_DIR}/../")

所以就是在“build”所在的目录中。

可能有的项目会没有编译,所以[1]中建议进入导入后的项目所在目录后再终端执行:

make && make install

对于我们编程来说,我建议只执行make指令。

二、配置项目的执行环境

完成上述步骤后,已经生成了项目的可执行文件,实际上已经可实行绿色箭头的【Run】,但是在首次运行中,会因为在Qt中没有配置好执行的路径,可能会运行出错,需要执行如下操作,
打开Qt Creator主界面左边的【Project】后,选择【Build & Run】选项卡,可以修改“Run”下的“Arguments”和“Working directory”,并在“Run in Terminal”后打钩,如EasyPR项目,我作出如下修改:

将CMakeList.txt工程导入到Qt Creator_第4张图片
配置项目的执行环境

三、小结

到此为止,已经能在Qt中运行可执行文件了。但是Qt本身对中文的支持并不完美,现在对我项目影响不大,暂时忽略。欢迎大神们补充。

【参考文献】

[1] Setting Up An Application With QtCreator - Linux
[2] Qt Creator 根据已有的CMakeList.txt创建CMake工程
[3] 用 cmake 构建Qt工程(对比qmake进行学习)
[4] 学习用CMake来编写Qt程序
[5] qmake 教程
[6] cmake 添加头文件目录,链接动态、静态库
[7] CMAKE的使用
[8] CmakeList的编写和参数详解
[9] ROS编程中如何配置CMakelists.txt来调用外部的动态链接库(.so文件)
[10] CMake常见指令总结,修改的更加容易理解

你可能感兴趣的:(将CMakeList.txt工程导入到Qt Creator)