Qt 多项目管理

Qt 多项目管理,第1张

首先是先新建一个子目录项目,再根据需要在子目录项目中添加一个应用程序项目以及多个库的项目,子目录项目默认就只有一个.pro文件

从“#”开始,到这一行结束。

模板变量告诉qmake为这个应用程序生成哪种makefile。

指定编译器选项和项目配置,值由qmake内部识别并具有特殊意义。

以下配置值控制编译标志:

qmake添加这个变量的值作为编译器C预处理器宏(-D选项)。

指定编译项目时应该被搜索的#include目录。

指定程序编译时依赖的相关路径。

指定在何处放置目标文件。

指定目标文件的名称。默认情况下包含的项目文件的基本名称。

指定构建目录。

指定来自moc的所有中间文件放置的目录(含Q_OBJECT宏的头文件转换成标准.h文件的存放目录)。

指定所有中间文件.o(.obj)放置的目录。

指定Qt资源编译器输出文件的目录(.qrc文件转换成qrc_*.h文件的存放目录)。

指定链接到项目中的库列表。-L后是库文件的目录,-l后是具体的库的名字(后缀不用加)。例如:

LIBS += -L$$PWD/../../../ThirdLib/winapi -lWSock32

仅适用于Windows,指定的图标应该包含在一个生成的.rc文件里。如果RC_FILE 和RES_FILE变量都没有设置这才可利用。

指定包含用户界面翻译文本的翻译(.ts)文件列表。

为Windows平台加的依赖平台的文件的简单的作用域看起来就像这样:

win32 { SOURCES += hello_win.cpp }

每次添加一个子项目就会在SUBDIRS项目加上一个项目名,子目录项目的 TEMPLATE = subdirs 。 CONFIG += ordered 是让项目按照顺序编译,由于主程序依赖于对应的库,一般都是把MainApp放在SUBDIRS的最后。

对于一些库和主程序都需要的目录设置 (构建目录、obj生成目录、moc文件生成目录等),可以统一写在一个pri文件中:

在需要引用的pro文件中:

include($$PWD/../../../Path.pri)

message($$INCLUDEPATH) , 会在概要信息中打印相关变量的值

主程序的 TEMPLATE = app 。除了常规的pro设置外,要记得将自己编的库的头文件目录加上,并将生成的dll通过LIBS链接:

库的 TEMPLATE = lib 。库在通过Creator新建的时候会生成一个xxx_global.h,定义了导出库的相关信息:

在库中要作为接口的类记得加上对应的宏:

class TESTLIBSHARED_EXPORT TestLib : public QObject

静态库貌似不需要这个,待测试...

你是想怎么创建,就在file里面有一个new file or project,然后d出窗口,里面有一种是GUI导航创建Qt,C++,Project里面的GUI APP那个就是,还有空项目的,就是empty project,不过最好是先看导航生成的GUI基本窗口就OK了

相信很多人有这样的需求吧 推荐使用 Qt Creator 2.1 以上版本,因为自带了 Class View ,不需要第三方的插件就可以看Symbol了。

新建项目里,选择 Other Project 然后是 Import Existing Project,建立项目后添加文件,最后需要的是自己写一个 Makefile, 而且默认的 Build 目标是 all,注意 GNU make 的文件格式,命令行开头需要一个完整的 TAB 针对最简单的单文件,比如 main.cpp ,makefile 可以这样写 all: g++ -o main main.cpp 然后就可以了。

如果你自己添加的第三方库也可以提供自动补全功能,但是需要能搜索到这个库目录,我用的是 Mingw ,直接把第三方库放到 Mingw 对应的 include 和 lib 目录了,引用头文件之后自动补全很好很强大。应该也有环境变量来设置的,不过暂时不大清楚如何 *** 作。 工具->选项->项目和解决方案  之后窗口右上方 “显示以下文件的目录”  默认是可执行文件

把它修改成“库文件” 就可以添加了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11363521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存