2014-01-20 16 views
7

Qtで書かれたプロジェクトをUbuntu/Linuxユーザーにリリースしたいと思います。彼らは、ビルドのリリースバージョンを実行しようとすると、彼らはこのエラーメッセージを取得し、彼らはQtのインストールされていないので:libQt5Widgets.so.5:Qtプロジェクトのリリースubuntu - 共有ライブラリの読み込み中にエラーが発生しました:libQt5Widgets.so.5

エラーを共有ライブラリのロード中にそのようなファイル: は、共有オブジェクトファイルを開くことができません。またはディレクトリ

は、このような実行ファイルがちょうどあなたがPluginsフォルダを指定することができqt.conf、とWindowsで同じように、あるフォルダへlibQt5Widgets.so.5など、すべてのライブラリを追加する方法はありますか?

+0

「ライブラリがあるフォルダにライブラリを追加する」という意味が明確ではありません。あなたのアプリケーションがどこにあるのですか?そして、あなたは 'qt.confでウィンドウの下にあるように'と言います。 Qtライブラリをフォルダにコピーしてライブラリがどこにあるのかアプリケーションに伝えたいと思いますか? –

+0

@ KurtPattyn 'Qtライブラリをフォルダにコピーし、ライブラリがどこにあるのかアプリケーションに伝えたいと思うのですか? – Niklas

+0

どうやってこの仲間を解決しましたか? – Michael

答えて

0

Ubuntuのパッケージ管理システムを使用してプロジェクトをパッケージ化するのが最も簡単かもしれません。プロジェクトがインストールされると、Qt依存関係はパッケージマネージャによって自動的にインストールされます。 UbuntuのパッケージリポジトリにQt 5のバージョンが存在する限り、これは最善の方法です。それはあなたに悲しみを大いに救います。

export LD_LIBRARY_PATH=/path/to/dir/with/libs:$LD_LIBRARY_PATH 

しかし、適切な解決策は、システム内のQTライブラリをインストールおよび/または(あなたのケースでは)Ubuntuのためにアプリをパッケージ化することです:

+0

それでは 'sudo apt-get install libqt5'という意味ですか? – Niklas

+0

はい、libqt5に依存する独自のプロジェクトをaptパッケージとして利用できるようにする必要があります。パッケージがインストールされたら、libqt5を自動的に引き込む必要があります。 –

1

一つの解決策は、可能性があります。

+0

それは自動的にはできませんよね?これは、ユーザーがプログラムをどこに置くかによって異なります。 – Niklas

+0

もちろん、あなたのアプリを起動するためのスクリプトを提供するだけで、ライブラリのパスはあなたの現在のディレクトリです。 – kikeenrique

1

このエラーが発生したときに、私は最近SDKマネージャーを使用してAndroidツールを更新しました。

修正するSDKツールを再インストールします。それが私のマシンでうまくいきました。

関連する問題