2011-01-19 15 views
2

qt creator(eclipse cdtから来ています)を試してみたいと思い、プロジェクトをビルドしようとしています。残念ながら、qmakeはリンカオプションに-L/usr/libを単独で追加してライブラリの間違ったバージョンにリンクさせていますが、削除方法を理解することはできません。qmakeが自動的にリンカオプションに追加するライブラリパスを削除するには

"LIBS =" -L/usr/lib "と同様に、プロジェクトファイルで" LIBS = "を実行しようとしましたが、プロジェクトファイルから設定を読み込んだ後にオプションを追加しているようです。誰かがどこかにconfファイルがあるかどうかを知ることができます(たとえば、mkspecsディレクトリなど)。ありがとう。

答えて

0

qmake自体に由来します。それはリンクフラグにqt_libspathを置きます。これは、別のディレクトリ接頭辞を使用してQtを構成およびコンパイルするか、qmakeバイナリ自体を変更することによって変更できます。

簡単な解決方法は、別の名前の正しいライブラリバージョンへのファイルシステムレベルのリンクを作成することです。つまり、/usr/lib/libfoo.somyfoo/lib/libfoo.soの場合は-lfooの代わりにlibmyfoo.so -> myfoo/lib/libfoo.soのリンクを作成し、-lmyfooのリンクを作成します。

+0

リンカオプションに明示的に追加していないlibstdC++の間違ったバージョンにリンクしていると思います。それはQT_INSTALL_LIBSから来ているかのように見えますが、これは "qmake -set"を使って変更できますが、おそらく他のものを混乱させるでしょう。彼らはリンカのフラグでそれを強制的に吸う。 – Lomohai

関連する問題