前言
最近在写实验室的项目ROI,项目原本使用Python开发,由于之前种种原因造成项目种种问题,包括但不限于小bug众多、大bug难调、结构臃肿不够清晰等等。
本次重写准备用C++,项目环境CLion+QtCreator。这两者都不是很熟悉,所以在摸索。利用QtCreator写好简单的UI之后(这不是重点,随便画了一下,这个后面都好调),如何在CLion中编译便成了问题,Qt编译的原理有些绕,因为涉及到了元对象系统、uic方面的东西,所幸已经看过一些Qt编译的基本原理所以半天就搞定了。顺便在二月的最后一天,水一篇博客(逃)。
官方也提供了这方面的知识CMake Manual 5.10;
项目目录
这里提一下:
- ROI项目的整体结构是,下面一个UI项目目录,用于编辑UI,还有一个GNURadio目录,用于编写后台代码。CMakeLists.txt放在ROI目录下。
├─ROI
├─bin % 存放编译生成的可执行文件
└─ROI % 编译生成的可执行文件
├─GNURadio % 源文件目录之一
└─top_block.cpp % 源文件
├─UI % 源文件目录之一
├─main.cpp % 源文件
├─widget.cpp % 源文件
├─widget.h % 源文件
├─widget.ui % 源文件
├─UI.pro % QtCreator项目文件,直接打开可以编辑UI
└─UI.user.pro % 不用管
├─build-UI-Desktop... % QtCreator产生的影子目录
├─cmake-build-debug %
└─CMakeLists.txt % CMake文件
再提几点:
- QtCreator的影子目录(shadow build)。Q