4

ヘッダー ファイルが異なるサブフォルダー (/config/ .h; /thread/ .h など) にあるプロジェクトがあり、qt プロジェクト ファイルには次のように含まれています。

HEADERS += $$PWD/src/*.h
HEADERS += $$PWD/src/config/*.h

次に、インストールは簡単であると説明されています。

headers.files = $$HEADERS
headers.path  = $$INSTALL_INC_DIR/proj

このライブラリを使用する他のいくつかのプロジェクトには、そのインストール ディレクトリからのファイルが含まれ、問題が発生します。すべての .h ファイルは、サブフォルダーなしで同じフォルダーにコピーされ、コードではサブフォルダーに含まれます ( #include <proj/config/config.h>)。

ファイルをコピーするときに元のフォルダー構造を維持することをqmake(または実際にはnmake)に伝えることはできますか?

4

2 に答える 2

7

これは私のために働く:

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})
}

.pro ファイルの最後に:

INSTALL_PREFIX = /tmp/installprefix
INSTALL_HEADERS = $$HEADERS
include(headerinstall.pri)
于 2013-09-13T06:28:24.800 に答える