Nat*_*man 10
在Ubuntu 12.04 LTS上为Android编译Qt5所需的步骤如下所述.为方便起见,我假设下面的所有命令都在目录中运行/opt/qt5-android.如果不是这种情况,您将需要相应地调整路径.
首先,您需要确保安装了相应的软件包:
sudo apt-get install build-essential openjdk-6-jdk
Run Code Online (Sandbox Code Playgroud)抓住最新的Android SDK:
wget http://dl.google.com/android/android-sdk_r21.1-linux.tgz
tar -xf android-sdk_r21.1-linux.tgz
Run Code Online (Sandbox Code Playgroud)SDK不附带任何平台,因此您需要抓取它们:
android-sdk-linux/tools/android update sdk --no-ui
Run Code Online (Sandbox Code Playgroud)获取最新版本的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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)现在克隆以下Git存储库:
git clone git://gitorious.org/qt/qt5.git qt5
cd qt5
perl init-repository --no-webkit
Run Code Online (Sandbox Code Playgroud)我们快到了.现在我们需要configure和makeQt5:
./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
Run Code Online (Sandbox Code Playgroud)就是这样!你现在应该最终得到Android的Qt5版本.
参考文献:
小智 5
我不是故意回答另一个答案,但这是我的第一篇文章:-(我认为这使我无法在评论中发布此内容.(因此,请考虑这是对所述答案的引用,而不是对内森自己的回答并不适合我.
我的配置行看起来更像是这样:
./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
Run Code Online (Sandbox Code Playgroud)
原因如下:
-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" 中止
-platform linux-g++-64是我是偏执的关于配置是否会添加-m64标志或任何为我工作的魔法
除了这种差异,内森的手术似乎有点像魅力.我现在的当地环境建设(感谢提示,奥斯曼先生:-)
| 归档时间: |
|
| 查看次数: |
8347 次 |
| 最近记录: |