qmakeとそれが生成するmakeファイルに問題があります。私のプログラムは2つの図書館にリンクする必要があります。 main.proに次のように追加します。QMake GCCとのリンク問題
LIBS += -L lib/somelib1/bin -lsomelib1 -L lib/somelib2/bin -lsomelib2
私は上記の行をどのように整理するかqmakeはgccにこれを伝えます。
g++ -o programname someobject.o -L lib/somelib1/bin lib/somelib2/bin -lsomelib1 -lsomelib2
問題はこのように見えるはずです。
g++ -o programname someobject.o -L lib/somelib1/bin -L lib/somelib2/bin -lsomelib1
-lsomelib2
GCCは次のエラーを示します。
lib/somelib2/bin: file not recognized: Is a directory
ありがとうございます。
うまくいきました。私は1つのライブラリだけでスペースがあったので、同じものが別のライブラリのために保持されると仮定しました。あなたが静的/輸入コメントの意味をよく理解していない。 – user174084
ライブラリをビルド/インストールするための "通常の"/"標準的な"方法は、静的またはインポートのライブラリ(およびLinuxの '.so's)を' someprefix/lib'に置き、実行可能ファイルまたはWindows DLLの場合は'someprefix/bin'です。最初のディレクトリをリンカに渡し、PATHに2番目のディレクトリを追加します。私はちょうどあなたがDLLに直接リンクしていることを恐れています(うまく動作しますが、上で述べた意味では移植性がありません; Linuxでは通常はリンクしているライブラリが別のディレクトリにあるので、ちょうどここでニックピッキング、それが動作する場合、それを修正しないでください! – rubenvb
乾杯ですが、これらはプロジェクトで構築されている静的ライブラリです。 gitサブモジュールを使ってこれらのライブラリ(私が作ったもの)をインポートしました。これらのライブラリもqtであり、実行可能ファイルにコンパイルされます。 – user174084