3

Qt Creator(2.1 RC)を使用してLinuxでQtアプリケーションを開発しています。2つのプロジェクトを作成し、ウィザードを使用してライブラリプロジェクトをアプリケーションプロジェクトに追加しました。ただし、実行すると、次のエラーが発生します。

/home/jakepetroules/silverlock/silverlock-build-desktop/desktop/silverlock: error while loading shared libraries: libsilverlocklib.so.1: cannot open shared object file: No such file or directory

Qt Creatorが実行する環境を適切にセットアップするために設定できるqmake変数はありますか?ビルドをテストするためだけに、ランチャースクリプトを使用してすべてのファイルを別のディレクトリにコピーする必要があるのは非常に面倒です。Windowsでは完全に機能します-QtCreatorは、アプリケーションの実行時にDLLを含むディレクトリをPATHに自動的に追加します(Explorerから実行するとDLLが見つからないと表示されます)。Mac OS Xはさらに悪く、すべてに対してinstall_name_toolを実行する必要があります...

では、Qt Creatorの実行ボタンからすべてが正しく機能するようにqmakeファイルを設定するにはどうすればよいですか?この機能がないとデバッグするのも難しいです。

4

3 に答える 3

6

LinuxマシンでQTCreatorを使用してqtアプリを実行するときに同様の問題が発生しました。クライアントアプリケーションの.proファイルに次の行を追加することで解決しました。

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib

unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
  QMAKE_LFLAGS_RPATH=
}

rpathに関する情報はここにあります:rpath

これがお役に立てば幸いです

于 2011-01-09T04:31:30.037 に答える
5

はい、Creatorには、アプリの実行に必要な環境を設定できるセクションがあります。

Creator 2.0.0では、これには次の方法でアクセスします。プロジェクト->ターゲット->(ターゲット)->実行->環境の実行(プロジェクトを開いた後)

次に、必要な環境変数を追加または削除できます。LD_LIBRARY_PATH たとえば、ビルドパスをこれらの変数の値に置き換えることができるかどうかはわかりません。そのため、ハードコーディングする必要はありません。それをあなたにLD_LIBRARY_PATH

もう1つのオプションは、必要な変数を設定する小さなシェルスクリプトをソースツリーに追加し、そのスクリプトを実行するための「カスタム実行可能」実行構成を追加することです。同じ画面からアクセスできます。

于 2011-01-09T22:51:31.570 に答える
1

これを使用するだけです:

unix:LIBS += -L/home/projects/my_libs/ -lmy_lib
unix:{
  QMAKE_LFLAGS += -Wl,--rpath=/home/projects/my_libs/
}

それは私の問題にも影響を与えました。

于 2016-09-16T02:33:41.220 に答える