2

qtbindings gem を使用して Qt を使用する GUI デスクトップ Ruby アプリケーションの開発を完了しました。いくつかの要件を満たしてリリースする必要があります。

  1. ユーザーは、特に Qt ライブラリをビルドまたはコンパイルする必要はありません。Ruby と Rubygems のインストールは問題ありませんが、それ以上は必要ありません。
  2. Mac と Windows で実行する必要がありますが、Linux が望ましい

tar2rubyscript と ruby​​script2exe を試しましたが、KDE-bindings メーリング リストで説明したように、いくつかの不可解なエラーが原因で失敗しました

#qtruby IRC チャンネルの親切な人が、それを gem としてバンドルしてリリースすることを提案してくれました。私はそれをやろうとしてきましたが、私の問題は、qtbindings を静的Qt ライブラリにリンクするにはどうすればよいですか? 私は gemspec を作成し、bundlerを使用しましたが、ネイティブ Qt 開発ライブラリ/ヘッダーに対してビルドされます..そして私のユーザーはそれを持っていません.

だから私の質問は、もう一度です:

  1. これにgemを使用できますか?もしそうなら、私が提供するQtの静的ライブラリに対してユーザーにqtbindingsを構築させるにはどうすればよいですか?
  2. qtruby アプリをパッケージ化する他の方法を知っていますか? あなたはそれをやりましたか?
4

1 に答える 1

0

私は Qt で多くの開発を行ってきましたが、まだ Ruby と QtRuby を学んでいます。

私は gem ルートを使用せず、以前に取り組んでいた商用 Qt アプリケーションと同じようにパッケージ化しようとしました。

プログラムのすべてを含む単一のパッケージを実行する必要があります。これには、Qt4 Ruby バインディングと Qt ライブラリ、およびそれを実行するために必要なその他すべてが含まれますが、[Windows バニラ インストール/MacOS バニラ インストール/最も一般的にサポートされている Linux 標準ベース] にはありませんが、Ruby インタープリターは例外となる可能性があります。それ自体。

アプリケーションをスクリプトでラップして、LD_LIBRARY_PATH およびその他の種類の環境変数をセットアップし、出荷しているが Linux ターゲットにはインストールされていない動的ライブラリですべてが機能することを確認します。Windows では、それら (動的ライブラリ) をメインのメイン フォルダに残しますが、スクリプト ルートを使用することもできます。Mac に展開したことがないのでわかりませんが、Linux ルートに似ていると想像できます。

エレガントではないことはわかっていますが、少なくとも機能します。

于 2010-10-31T14:09:52.723 に答える