方案一 在pro文件中,设置CONFIG += ordered。 确保正确的构建顺序:ordered选项会强制Qt按照在.pro文件中指定的顺序来构建子项目。这可以确保先构建那些其他项目依赖的项目,从而避免因构建顺序不当而导致的错误。 提高构建的稳定性:在复杂的项目中,可能存在多个子项目之间有依赖关系的情况。使用ordered选项可以避免并行构...
步骤如下:Qt Creator--->New Project--->库--->C++ 库--->名称为:proDemo6(创建路径自己拟定,本地为F:\Source\proStudy)--->类型:Qt Plugin--->其他项均默认--->完成。对应的pro文件如下: 此pro文件添加其他文件OTHER_FILES配置变量,另外,配置变量CONFIG添加了plugin值,因为工程类型选择为Qt Plugin。
多工程 如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖关系。也就是说,lib2依赖于lib1,而UI依赖于lib2。 配置如下: 配置TEMPLATE为subdirs设置多工程 配置SUBDIRS,指定需要添加的工程模块 配置CONFIG为ordered指定顺序编译 例如: TEMPLATE = subdirs #SUBDIRS += \ #...
多工程 如果需要管理多工程(pro),比如:库工程、界面工程,其中,每一个工程均可单独编译成功,但存在依赖关系。也就是说,lib2依赖于lib1,而UI依赖于lib2。 配置如下: 配置TEMPLATE为subdirs设置多工程 配置SUBDIRS,指定需要添加的工程模块 配置CONFIG为ordered指定顺序编译 例如: TEMPLATE = subdirs #SUBDIRS += \ #...
DeviceCtlSubDir/DeviceCtl.pro \ DeviceCtlSubDir/DeviceCtl_Command.pro CONFIG: 配置参数,可配置多个参数,所以使用+=,不要使用=。ordered参数与subdirs配合使用,表示按照排列顺序编译,默认带有app_bundle和qt这两个参数,所以不需要则可以-=,例如下面的表示使用console以及C++11特性(纯C++,不含qt组件),不使用qt以及...
TEMPLATE = subdirs #设置ordered参数以后会依次编译 demo designer examples CONFIG += ordered SUBDIRS += demo SUBDIRS += designer SUBDIRS += examples MSVC编译器的选择说明 如果是32位的Qt则编译器选择x86开头的 如果是64位的Qt则编译器选择amd64开头的 具体是看安装的Qt构建套件版本以及目标运行平台的系统...
autogen_precompile_source自动生成一个.cpp文件,包含在.pro中指定的预编译头文件。 ordered使用subdirs模板时,此选项指定应该按照目录列表的顺序处理它们。 precompile_header可以在项目中使用预编译头文件的支持。 warn_on编译器应该输出尽可能多的警告。如果也指定了warn_off,最后一个生效。
autogen_precompile_source 自动生成一个.cpp文件,包含在.pro中指定的预编译头文件。 ordered 使用subdirs模板时,此选项指定应该按照目录列表的顺序处理它们。 precompile_header 可以在项目中使用预编译头文件的支持。 warn_on 编译器应该输出尽可能多的警告。如果也指定了warn_off,最后一个生效。
每次添加一个子项目就会在SUBDIRS项目加上一个项目名,子目录项目的 TEMPLATE = subdirs 。 CONFIG += ordered 是让项目按照顺序编译,由于主程序依赖于对应的库,一般都是把MainApp放在SUBDIRS的最后。对于一些库和主程序都需要的目录设置 (构建目录、obj生成目录、moc文件生成目录等),可以统一写在一个...
QT_UNKNOWN -= $$QT_ORDERED QT = $$QT_ORDERED for(QTLIB, $$list($$QT_UNKNOWN)) { !contains(TMPLIBS, $$QTLIB):message("Warning: unknown QT: $$QTLIB") } 这一段就是对QT这个变量进行重新赋值,如果我们使用的库在上述TMPLIBS定义的里面,就添加到QT变量中去。否则就warning ...