1

私は Qt 5 と Qt Creator にかなり慣れていません。D20Controls というライブラリ プロジェクトを作成しました。D20Controls.lib ファイルがあります。私のプロジェクトでは、lib D20Controls のクラスを使用したいと考えています。そこで、プロジェクトを右クリックし、[ライブラリの追加...] を実行します。[外部ライブラリ] を選択し、D20Controls.Lib ファイルを参照します。これで、すべてが .pro ファイルに正しく追加されたようです。

win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/release/ -lD20Controls
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug/ -lD20Controls

INCLUDEPATH += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug
DEPENDPATH += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug

win32:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/release/D20Controls.lib
else:win32:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/../../build-D20Controls-Desktop_Qt_5_1_1_MSVC2012_64bit-Debug/debug/D20Controls.lib

#include <D20Controls>しかし、プロジェクトまたはその中の .h ファイルで使用したい場合 、次のようなエラーをコンパイルできません: ...main.cpp:4: エラー: C1083: インクルード ファイルを開けません: 'D20Controls': そのようなものはありませんファイルまたはディレクトリ

lib を使用するにはどうすればよいですか? (静的リンクと動的リンクを試しました)

何が欠けていますか?

4

1 に答える 1

1

このような問題を解決する手順:

  1. D20Controls.hファイルシステムで見つけます。複数ある場合は、どれを含めるかを決定します。

  2. 実際に実行されたコンパイルコマンドを 1 つ見つけます(たとえば、その中に-o main.omain.cppがあるもの)。複数ありますが、通常は-I1 つのプロジェクト内で同じフラグを持つ必要があります。Qt Creator からコンパイルする場合は、画面下部の [Compile Output] タブを見てください。コマンドラインからコンパイルする場合は、上にスクロールするか、コピーしてエディターに貼り付けます。

  3. -I...something...コンパイル コマンドに、正しいインクルード ファイルの場所と一致するオプションがあるかどうかを確認します。

  4. そうでない場合は、ファイルに追加または修正し、.proqmake を再実行してビルドします。


上記はヘッダーの検索と、-Iインクルード パスを指定するコンパイル コマンドのフラグに適用されます。不平を言うのがリンカである場合 (これは通常、インクルードを修正した後にこのような場合に発生します)、リンク コマンド (多数の.oファイルを含むもの、およびのようなもの) を見つけ、リンク パスを指定するオプション-o final-program-nameを探します。-L

于 2013-11-05T07:59:24.960 に答える