2017-04-06 7 views
0

ライブラリのパスを検索しません。ビルドするには、D. libD.soは他人とリンクする必要があります。私はbin directortyの下にすべてを置いているので、そこに-L$${OUTDIR}を追加して、ライブラリを見つけるためのbinフォルダを探します。 OUTDIRは、私がそのbin dirと等しく設定した変数です。正しいディレクトリであると確信しています。私はそれをメッセージとして印刷します。しかし、私はlibD.soがlibB.soを見つけることができないというエラーを受け取ります。私はここで混乱している、それは他のAとCを見つける、それはなぜBを見つけることができないのですか?それらはすべて同じディレクトリの下にあり、私は-L$${OUTDIR}を使ってライブラリパスに追加しています。何が問題なの?ところで qmakeは、私は私が使用して自分のライブラリをリンクする.PROファイルを持っている

、その -L$${OUTDIR}を削除し、代わりにQtCreator Projectsタブから、LD_LIBRARY_PATHに直接、そのディレクトリを追加した構成を構築する場合には、それが正しく、すべてのライブラリを検索します。 -lC

LIBS += -L$${OUTDIR} \ 
     -lA \ 
     -lB \ 
     -lC 

答えて

0

削除\それは、ライブラリを探しビルドでの時点で、ライブラリがまだ構築されていないので、それはそれを見つけることができません。ライブラリが依存関係の順番で構築されていることを確認する必要があります。

+0

残念ながら、それで解決できませんでした。 – meguli

+0

@meguliしかし、それを解決し始めることさえ必要です。 –

0

+0

しかし、libファイルはビルドされ、そこにあります。そのディレクトリを手動で 'LD_LIBRARY_PATH'に追加すると、すべて正常に動作します。何とかして、qmakeはコンパイラフラグに '-LOUTDIR'を加えるメイクファイルを生成しません。ところで、私の他のプロジェクトでも同じアプローチが有効です。 – meguli

関連する問題