2017-02-24 6 views
-1

Raspbian JessieのRaspberry Pi 2でQt Creatorを使用してC++でアプリケーションを作成しました。今私はそれを展開したいので、私はそれが最小限の機能を持っている別のラズベリーでそれを使用することができます。つまり、desktop-guiまたはqtcreatorがインストールされていないことを意味します。私はRaspbian Jessie Liteを使っています。Qtをソースからビルドせずに展開することは可能ですか?

私はこのドキュメントに従おうとしましたが、静的リンクも共有ライブラリアプローチも機能しません。 http://doc.qt.io/qt-5/linux-deployment.html

私はQtcreatorを「ソースからビルド」ではなく「インストール済み」にしているため、これを完全に検索した後では動作しないようです。 その前提は正しいですか?

ソースからビルドせずにアプリケーションをデプロイすることはできませんか?

+0

Qtをどのように構築したかによって決まらないと思います。最も重要な点は、アプリケーションがターゲットシステムに存在しない場合は、依存するQtライブラリと共にアプリケーションをデプロイする必要があることです。 – vahancho

答えて

1

linuxにqtアプリケーションを配備するには、あなたが対象とする正式なパッケージ配布物の共有オブジェクトにそのパッケージをリンクするのが一番です。

qdeveloperとはまったく関係がありません。ターゲットqtライブラリのみとは関係ありません。

逆に、ソースからqtを構築する場合は、共有オブジェクトを提供する必要があります。

これが意味: を - そのディストリビューション た内容に応じて、それをパッケージ化 - - あなたはqtのパッケージをインストールした後、ターゲットにインストールするには、QTとDEVの両方のパッケージが をインストールし使用して行っているディストリビューションとresberyパイの上にそれをコンパイルします。 qt devパッケージはもう必要ありません。

他のライブラリも関係しており、同じことがそれらに適用されます。

+0

答えを編集してください。 _shared objects_と_dynamic link libraries_は、重大な問題を意味する可能性があります。これがLinuxに関するものなら、_shared objects_でなければなりません。 – Scheff

+0

ターゲットにインストールすることを特にお勧めするのはどのQtパッケージですか? (あなたはapt-getコマンドを知っていますか?) アプリケーションの実行可能ファイルを持っていて、前にqtパッケージをインストールする必要はありません。私は、展開全体が何であるかと思っていました。 –

1

Qtがインストールされていない他のシステムでは、Qtアプリケーションを基本的に展開したいと考えています。

LinuxでのQtのデプロイメントはかなり難しいプロセスです。 The linkあなたが共有したのは、知識が豊富だが難しい展開プロセスです。

もっと簡単にするには、thisを見てみることをお勧めします。ここでan executable binaryを見つけることができ、他のシステム(Linuxの同じディストリビューションを実行している)で実行できるQtプロジェクトのスタンドアロンappimageを作成することができます。 Qt Creator自身が作成した実行可能バイナリのパスを入力するだけで、上記のツールが残りの作業を行います。すべての依存関係を解決し、Qtアプリケーションのスタンドアロンバイナリを出力します。これは他のシステムでも実行できます。

さらなる質問があります。お役に立てれば。

+0

ありがとう!私は他のものをやらなければならなかったが、今私はこの問題に戻る。 linuxdeployqtプログラムを実行しようとしましたが、「バイナリファイルを実行できません:形式エラーが発生しました」というエラーが表示されます。私はそれがRapsberr piのARMアーキテクチャのために作られていないので、それを仮定します。この仕事をするために私ができることはありますか? –

関連する問題