【发布时间】:2017-03-01 16:41:16
【问题描述】:
我有一个带有子文件夹模板的 qtcreator 项目。文件夹如下所示:
mainProject/
mainProject.pro
staticLib/
(bunch of .cpp and .h files)
staticLib.pro
testApp/
main.cpp
testApp.pro
还有 mainProject.pro 文件:
TEMPLATE = subdirs
CONFIG += ordered
SUBDIRS = staticLib \
testApp
testApp.depends = staticLib
我想安装静态库,所以我在 staticLib.pro 文件中添加了安装选项:
headersDataFiles.path = $$LIBPATH/include
headersDataFiles.files = $$PWD/*.h
INSTALLS += headersDataFiles
libraryFiles.path = $$LIBPATH/lib
Debug:libraryFiles.files = $$OUT_PWD/debug/*.a
Release:libraryFiles.files = $$OUT_PWD/release/*.a
INSTALLS += libraryFiles
问题是当我在 Qtcreator 中构建项目时,它先构建静态库,然后构建应用程序,而没有先运行 make install,因此构建应用程序失败。而 Qtcreator 只允许我在 qmake_all 之后添加构建步骤(在没有先安装 lib 的情况下构建两个项目)。
所以问题是,有什么方法可以构建 staticLib 项目,安装它然后构建 testApp?
编辑:testApp 项目始终可以从第一个项目的输出目录链接到库。但我想将 .a 和 headers 文件移动到其他文件夹以保持项目井井有条。 testApp 构建失败不是问题。很抱歉造成误解。
【问题讨论】:
-
安装不需要 afaik 来编译带有依赖的静态库的东西。您的 testApp.pro 中似乎配置错误-您也可以分享一下吗?您是否尝试通过 Qt Creator 将静态库添加到 testApp?
-
是的,你是对的,安装它不是必需的。实际上这不是我想要做的系统安装,只需将生成的 .a 和标题移动到项目中的其他文件夹以保持我的项目井井有条。感谢您的评论,很抱歉造成误解,我编辑了问题。
标签: qt qt-creator qmake