Ubuntu 12.04 LTS を実行しているサーバーがあります。
Android ARMv6 プラットフォーム用の Qt5 の構築にサーバーを使用したいと考えています。ヘッドレスサーバーでこれを行うにはどうすればよいですか?
Ubuntu 12.04 LTS で Qt5 for Android をコンパイルするために必要な手順を以下に示します。便宜上、以下のコマンドはすべてディレクトリで実行されると仮定します/opt/qt5-android
。そうでない場合は、それに応じてパスを調整する必要があります。
まず、適切なパッケージがインストールされていることを確認する必要があります。
sudo apt-get install build-essential openjdk-6-jdk
最新の Android SDK を取得します。
wget http://dl.google.com/android/android-sdk_r21.1-linux.tgz
tar -xf android-sdk_r21.1-linux.tgz
SDK はどのプラットフォームにも同梱されていないため、入手する必要があります。
android-sdk-linux/tools/android update sdk --no-ui
NDK の最新バージョンを取得します。
32 ビット (i686):
wget http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86.tar.bz2
tar -xf android-ndk-r8e-linux-x86.tar.bz2
64 ビット (amd64):
wget http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86_64.tar.bz2
tar -xf android-ndk-r8e-linux-x86_64.tar.bz2
次に、次の Git リポジトリを複製します。
git clone git://gitorious.org/qt/qt5.git qt5
cd qt5
perl init-repository --no-webkit
もうすぐ着きます。configure
次に、make
Qt5を実行する必要があります。
./configure \
-developer-build \
-xplatform android-g++ \
-nomake tests \
-nomake examples \
-android-ndk /opt/qt5-android/android-ndk-r8e \
-android-sdk /opt/qt5-android/android-sdk-linux \
-skip qttools \
-skip qttranslations \
-skip qtwebkit \
-skip qtserialport \
-skip qtwebkit-examples-and-demos
make
以上です!これで、Android 用の Qt5 ビルドが完成するはずです。
参考文献:
別の回答に回答を返すつもりはありませんが、これが私の最初の投稿です:-(そして、これがコメントに投稿できないと思います。(したがって、回答ではなく、回答の引用と考えてください。それ)上記のネイサン自身の答えは、私にとってはうまくいきませんでした。
私のconfigure行は次のようになりました:
./configure \
-developer-build -platform linux-g++-64 \
-xplatform android-g++ \
-nomake tests \
-nomake examples \
-android-ndk /opt/qt5-android/android-ndk-r8e \
-android-sdk /opt/qt5-android/android-sdk-linux \
-skip qttools \
-skip qttranslations \
-skip qtwebkit \
-skip qtserialport \
-android-ndk-host linux-x86_64
理由は次のとおりです。
-skip qtwebkit-examples-and-demos
構成でエラーが発生しました...とにかくビルドできないものをスキップしていたのは好きではありませんでした(申し訳ありませんが、正確なエラーメッセージを失いました)
-android-ndk-host linux-x86_64
Can not detect the android host. Please use -android-ndk-host option to specify one
configure が " "で中止されないようにしました
-platform linux-g++-64
-m64
configureがフラグを追加するかどうか、または私のためにその魔法を働かせるときに何かを追加するかどうかについて、私は偏執的ですか
この違いを除けば、ネイサンの手順は魔法のように機能しているように見えました。私のローカル環境は現在構築中です (ヒントをありがとう、Osman 氏 :-)