我有一个项目,其中头文件在qt项目文件中的不同子文件夹(/ config/.h;/thread / .h等)中包含,如:
HEADERS += $$PWD/src/*.h
HEADERS += $$PWD/src/config/*.h
Run Code Online (Sandbox Code Playgroud)
然后安装简单描述:
headers.files = $$HEADERS
headers.path = $$INSTALL_INC_DIR/proj
Run Code Online (Sandbox Code Playgroud)
使用此lib的其他一些项目将包含来自该安装目录的文件,并且会出现问题 - 所有.h文件都复制到同一文件夹,没有子文件夹,并且在代码中它们包含在子文件夹(#include <proj/config/config.h>)中.
有可能告诉qmake(或实际上是nmake)复制文件时保留原始文件夹结构吗?
这对我有用:
headerinstall.pri:
for(header, INSTALL_HEADERS) {
path = $${INSTALL_PREFIX}/$${dirname(header)}
eval(headers_$${path}.files += $$header)
eval(headers_$${path}.path = $$path)
eval(INSTALLS *= headers_$${path})
}
Run Code Online (Sandbox Code Playgroud)
在.pro文件的末尾:
INSTALL_PREFIX = /tmp/installprefix
INSTALL_HEADERS = $$HEADERS
include(headerinstall.pri)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2083 次 |
| 最近记录: |