0

Linux 用のウィジェット ライブラリを開発しています。いくつかのファイルが含まれてい.uiます。.proファイルは次のようになります。

TEMPLATE = lib
SOURCES += ...
HEADERS += ...
FORMS += ...
TARGET = foo
headers.files = $$HEADERS
unix {
    target.path = /usr/lib
    headers.path = /usr/include/foo/
}
INSTALLS += target headers

システムにライブラリをインストールすると、ui_*.h ファイルが /usr/include/foo/ に存在せず、コンパイル エラーが発生します。これらのファイルの必要性を取り除くか、インストール ターゲットに含めるにはどうすればよいですか?

4

1 に答える 1

2

「最善の」解決策 (IMHO) は、UI クラスから継承するのではなく、代わりにコンポジションを使用することです。The Single Inheritance Approachを使用すると、UI クラスの前方宣言でうまくいくため、ヘッダーを公開する必要がなくなります。

于 2013-01-24T17:06:01.887 に答える