2017-04-18 10 views
0

私はシンプルなC++ライブラリを作成しました。 lddを実行すると、アプリケーションがqt5とqt4の両方とリンクしています

ldd libTESTPlugin.so.1.0.0 | grep -i qt 
    libQt5Widgets.so.5 => /lib64/libQt5Widgets.so.5 (0x00007f5345f14000) 
    libQt5Gui.so.5 => /lib64/libQt5Gui.so.5 (0x00007f5345a71000) 
    libQt5Core.so.5 => /lib64/libQt5Core.so.5 (0x00007f53455e7000) 
    libQtXml.so.4 => /lib64/libQtXml.so.4 (0x00007f5344074000) 
    libQtCore.so.4 => /lib64/libQtCore.so.4 (0x00007f5343b71000) 
    libQtGui.so.4 => /lib64/libQtGui.so.4 (0x00007f5342e4b000) 
    libQtNetwork.so.4 => /lib64/libQtNetwork.so.4 (0x00007f5342afa000) 
    libQtSvg.so.4 => /lib64/libQtSvg.so.4 (0x00007f53428a0000) 
    libQtWebKit.so.4 => /lib64/libQtWebKit.so.4 (0x00007f53403b3000) 
    libQtSql.so.4 => /lib64/libQtSql.so.4 (0x00007f5340170000) 
    libQtLocation.so.1 => /lib64/libQtLocation.so.1 (0x00007f5336a09000) 
    libQtSensors.so.1 => /lib64/libQtSensors.so.1 (0x00007f53367d5000) 
    libQtOpenGL.so.4 => /lib64/libQtOpenGL.so.4 (0x00007f5334ccb000) 
    libQtDeclarative.so.4 => /lib64/libQtDeclarative.so.4 (0x00007f5329d06000) 
    libQtScript.so.4 => /lib64/libQtScript.so.4 (0x00007f5329845000) 
    libQtXmlPatterns.so.4 => /lib64/libQtXmlPatterns.so.4 (0x00007f53291c0000) 

です。したがって、私のlibはqt4とqt5の両方にリンクされています。 qt5だけにリンクされている他のソフトウェアとの統合に関する問題があります。

Qt5のみでリンクを指定する方法はありますか?Qt4ではリンクを指定する方法はありますか?あなたはのQt Creatorを、チェックを使用している場合、

また

export QT_SELECT = qt5

:たとえば

export QT_SELECT = <Qt version>

+1

どのようにあなたのライブラリーを構築します(IDE 、プロジェクト設定)?どのLinuxディストリビューションか、どのようにQtがインストールされたか(それらのうちのいくつかは古いQt4バージョンにバンドルされています)? 'qmake --version'の出力は? – Dmitriy

+0

こんにちはドミトリー。私はfedora25を使用しています。 qmake --versionの出力は ですQMakeバージョン2.01a /usr/lib64にQtバージョン4.8.7を使用していますが、私は/ usr/binにqmake-qt4とqmake-qt5の両方の実行可能ファイルを持っています。 –

答えて

0

QT_SELECT環境変数を使用して、デフォルトQTバージョンとしてQt5を設定するようにしてくださいビルドの設定をもう一度行います。

PS: は、私は、彼らはまだqtchooserを含めるかどうかわからないけど、あなたのシステムにインストールされているすべてのバージョンを表示するには、このコマンドを実行しようとすることができます

qtchooser -list-versions

+0

迅速な返信をありがとう。私はQtCreatorを使用して、構成を構築することはqt5を使用しているようです。有効なqmakeコールは、 "qmake-qt5 /home/pp/QGis/code/TESTPlugin/TESTPlugin.pro-spec linux-g ++ CONFIG + =デバッグCONFIG + = qml_debug &&/usr/bin/make qmake_all"を表示します。 –

関連する問題