2013-03-11 8 views
12

Linux環境でQt 5.0.1に基づいてQt Creator 2.6.2を使用しました。私は(いくつかのリンクが死んでいる)このlinkでいくつかの解決策を見つけたQt 5を静的に構築する方法

error while loading shared libraries: libQt5WebKitWidgets.so.5: cannot open shared object file: No such file or directory 
error while loading shared libraries: libxslt.so.1: cannot open shared object file: No such file or directory 

:アプリケーションは、私は私のようなエラーを得た別のコンピュータ上でそれを実行し、コンパイルをしたが、コンピュータ上で正常に動作します。

だから、私は.PROファイルに次の行を追加:静的に私のプロジェクトをコンパイルするには

CONFIG += static 

を。

私が得るファイルは大きくなると思ったが、私は同じサイズと同じエラーを持っていた。

ありがとうございます。

+3

静的にプロジェクトをコンパイルするには、静的なQtビルドをビルドする必要があります。 – dtech

+3

ライセンスの問題を念頭に置いてください。 – cubuspl42

+1

ソースを掴んで、 '' './configure -static-release" '' –

答えて

9

Qt共有ライブラリは、テストした他のコンピュータには存在しません。したがって、次のいずれかを行う必要があります。

  1. 共有ライブラリを他のマシンにコピーします。または...
  2. アプリケーションにリンクする静的なQtビルドを作成します。

CONFIG += staticを.proファイルに追加するだけでは不十分です。また、Qt静的ライブラリも必要です。 #2をするには、Qtのソースコードを入手して自分でビルドする必要があります。

また、QtはLGPLのライセンスを受けていますので、静的リンクの場合は注意する必要があります。 LGPLが静的リンク(あなた自身のコードをLGPLしている場合を除いて)とそれが信じている人たち(あなたのアプリのオブジェクトコードをリリースしたい限り)を許可していないと信じている人もいます。しかしそれは他の議論の全体です。

+4

でビルドするLGPLの条項の下で、あなたはあなた自身で読むことができますhttp://www.gnu.org/licenses/lgpl.html)、エンドユーザが自由にリンクを張る手段を提供する限り、静的にリンクすることができます。この点については、第4(d)(0)項は明確である。 – JBentley

+0

@JBentley遅く返信して申し訳ありません...私はあなたに完全に同意したが、私が遭遇した他の人々は、ライセンスのテキストが何であるかにかかわらず、異なって信じている。 – Cutterpillow

関連する問題