6

qtベースのアプリケーションを開発していますが、同じマシンで32ビットバージョンと64ビットバージョンの両方のアプリケーションを開発し、同じソース、スクリプトなどを共有したいと思います。マシンはUbuntu Jaunty 64ビット、Intel Core i7、 8GBのRAM。VMWareまたはVirtualBoxを実行することで動作する可能性があることは承知していますが、プロセッサ(i7)を最大限に活用したいので、良い解決策ではないようです。chrootされた環境について読んだところ、探していたセットアップである可能性があります。ビルドしたばかりの実行可能ファイルを実行できるようにするには、開発マシンも必要です。

それについて何か経験はありますか?64ビットホストでこのような32ビットchroot環境をセットアップしましたか?それはうまくいきますか?正しく設定するには?

4

2 に答える 2

5

私は似たような状況にありましたが、正確ではありません。64 ビット Jaunty で実行しながら、32 ビット Windows 用の Qt4 アプリケーションを開発していました。chroot された環境は、必要なものを提供しますが、32 ビット アプリケーションをコンパイルするために chroot しなければならないという小さな煩わしさがあります。

Windows 用にコンパイルするために私が行ったことは、その目的専用のクロス コンパイラをセットアップすることでした。おそらくそうする必要はないでしょう。おそらく、 g++ -m32 を 32 ビットにコンパイルすることで回避できます。makefile を何度も編集する必要がないように、Qt に付属の specfile を作成/変更/使用して、「qmake -project && qmake -makefile spec blablabla」を実行できます (構文を覚えていれば、適切にコマンドします)。

于 2009-10-02T12:14:37.303 に答える
3

私も同様の状況にあり、次のように作業します。

Qtのカスタムビルドバージョンを使用しています。Qtを2回ビルドしますが、最初のビルドではlinux-g ++-64に、2番目のビルドではlinux-g ++-32に設定した-platformパラメーターを除いて、同じ構成オプションを使用します。また、異なるプレフィックスを使用して、両方のバージョンを別々のディレクトリにインストールします。

QtCreatorを使用してアプリを作成しています。[オプション]->[Qt4-]->[Qtバージョン]ダイアログで両方のQtバージョンを追加しました。次に、プロジェクトに2つの異なるビルド構成をセットアップします。ビルドオプションは同じですが、1つは32ビットのQt dirを使用し、もう1つは64ビットのQtdirを使用します。その後、QtCreatorがすべての魔法を処理します。32ビットと64ビットの両方のQtアプリを使用するには、ビルド構成を切り替える必要があります。chrootも、VMも、何もありません。単純なビルドです。

ただし、注意点が1つあります。32ビット用のQtを構築するには、ほとんどの開発ライブラリ(X libs、stdlibsなど)の32ビットバージョンが必要です。これらは、ia32-libsおよびlib32stdc++6を使用してUbuntuJauntyで簡単に入手できます。64ビットアーキテクチャでの32ビット開発用に私が見つけられなかった唯一のライブラリはgstreamerライブラリです。これは、Phononが機能しない可能性があることを意味します。Phononが必要だったので、VMにQtをビルドしてから、Qtのインストール済みディレクトリを開発マシンにコピーして戻しました。

幸運を。

于 2009-10-02T14:39:47.713 に答える