2012-01-24 8 views
1

QtCreatorを使用してLinux用のアプリケーションを作成しました。アプリケーションでは、2つの外部ライブラリ、qextserialportqwtを使用します。私はそれが依存するすべてのライブラリが実行可能ファイルと一緒に展開されるようにアプリケーションを展開したいと思います。WindowsとLinuxでの独立したqtアプリケーションと依存パッケージ

Windows用のアプリケーションを作成したときに、.dllファイルをapp.exeフォルダにコピーしただけで動作します。しかし、私はLinuxでこれをどうやって行うのですか? Linuxの場合

答えて

2

次のことができます。

1)依存関係

または

2)パックの依存関係ウィンドウスタイルを静的リンクと動的ライブラリ

を含むサブディレクトリを指す環境変数LD_LIBRARY_PATHを設定します

は、man ldを読んでコンパイルする必要がありますかもしれ[更新]デフォルトでコンパイルされていないライブラリの静的バージョン(look at this tutorial if you can't tell the difference)。

ライブラリがautoconf(多くのLinuxソフトウェア)を使用する場合、synthesizerpatelによるすばらしいコメントは、--enable-sharedや--enable-staticのようなオプションを持っています。

+0

静的なリンクについては読んでいますが、何をすべきか分かりません。詳細を教えてください。 – sanjay

+1

ライブラリを静的にコンパイルします(ほとんどの場合、このオプション、--enable-sharedまたは--enable-static(autoconf/configureによって構築されている場合))。静的なlibがある場合、libname.so、libname.dylib(mac)とは対照的にlibname.aになります。共有するlibのパスをオブジェクトの一部として指定するか、-L/where/the/dota/lives -lname – synthesizerpatel

+0

@Sanjayこの回答には、私が望むことを実行するための両方の方法が含まれています。私はそれをそのようにマークすることをお勧めします。 –

関連する問題