android ndk
linux 64-bit(x86)
,android-ndk-r9d-linux-x86_64.tar.bz2。
解壓android-ndk-r9d-linux-x86_64.tar.bz2
到任意路徑
3.生成
toolchain
的文件可以參考
docs/standalone-toolchain.html
3.1
檢視android-ndk-r9d
支援的api 從
docs/stable-apis.html
可以看到如下,因為我們現在的平台
android
版本是4.2
所以選擇
android-17
。也可以從
platforms/
下去檢視支援
api版本
android-3 -> official android 1.5 system images
android-4 -> official android 1.6 system images
android-5 -> official android 2.0 system images
android-6 -> official android 2.0.1 system images
android-7 -> official android 2.1 system images
android-8 -> official android 2.2 system images
android-9 -> official android 2.3 system images
android-14 -> official android 4.0 system images
android-18 -> official android 4.3 system images
3.2
設定sysroot
環境變數
比如我解壓的路徑為
/home/***x/project/test/ndk/android-ndk-r9d
那麼設定
sysroot=/home/***x/project/test/ndk/android-ndk-r9d/platforms/android-17/arch-arm
3.3
生成toolchain
首先在android-ndk-r9d
裡新建生成
toolchain
的資料夾,
mkdir tmp/android-17-toolchain
執行如下命令:
/home/***x/project/test/ndk/android-ndk-r9d/build/tools/make-standalone-toolchain.sh --platform=android-17 --install-dir=/home/***x/project/test/ndk/android-ndk-r9d/tmp/android-17-toolchain
這樣就在
android-17-toolchain
下生成交叉編譯工具。 4.
配置交叉編譯工具環境變數 我把
android-17-toolchain
放在/home/***x/document下
sudo gedit ~/.bashrc
在最後新增如下命令
export path=$path:/home/***x/document/android-17-toolchain/bin
source ~/.bashrc 5.
測試環境變數設定是否生效
arm-linux-androideabi-gcc -v
最後有獲取到
gcc version 4.6 20120106 (prerelease) (gcc)
就可以了 6.
編譯c程式
arm-linux-androideabi-gcc -o main main.c
opus
音訊編譯碼庫是
speex
音訊編譯碼庫的下一代版本,從編譯碼效能以及質量上來講都有了長足的進步。
opus
的編譯非常簡單,但是官方並未給出詳細的
android
版本編譯指南,查詢了大量資料,經過多次試驗,總結了一套成功的方法,具體如下:
1. 確保你的機器上安裝有
android ndk
opus
源**。
2. android ndk
因為包含了針對多個
android
系統版本(
api level
)的編譯器工具鏈檔案,但是並未直接提供乙個具體可用的工具鏈,因此需要借助
ndk
生成一套編譯器工具鏈,前提是你必須要指定該工具鏈所針對的具體
android
系統版本,這裡以
api level 14
(對應android 4.0
)為例,生成針對它的編譯器工具鏈,使用如下命令:
~/android-ndk-r10e/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=/tmp/my_toolchain
3. 定義環境變數,用於臨時的編譯,使用如下命令:
export path=/tmp/my_toolchain/bin/:$path
export cc=arm-linux-androideabi-gcc
export cxx=arm-linux-androideabi-g++
4. 配置並建立
opus
源**的
makefile
編譯配置檔案,使用如下命令:
./configure --host=arm-linux-androideabi
5. 編譯opus
源**並生成庫檔案,使用如下命令:
make
注意,make
命令將自動編譯源**並生成庫檔案(靜態庫及動態庫),庫檔案位於
opus
源**所在目錄中的某個子目錄內,可能該子目錄名字以
「.」開頭,所以可以用
ls -a
命令來檢視一下。因為這裡我們編譯的是
for android
的版本,所以我們不要再執行
make install
了。
QT在linux下的交叉編譯
第一步 安裝交叉編譯器 將arm linux gcc v6 vfp 20101103.tgz拷到到 opt下,然後輸入以下命令進行解壓 cd tar xvzf opt arm linux gcc v6 vfp 20101103.tgz 交叉編譯器會解壓到 opt friendlyarm toolsc...
golang在win下交叉編譯
1 安裝 必須安裝git 和 mingw 2 設定環境變數 系統path變數 新增c mingw bin c program files git bin 3 執行批處理 將以下存放在install.bat 放於 go src下執行 4 執行go編譯 下面是編譯乙個linux下執行的 echo off...
linux 下 openssl 編譯和交叉編譯
此隨便記錄一下編譯openssl時遇到的各種問題以及解決辦法。linux 64位系統編譯32位版本 setarch i386 configure linux generic32 no shared m32 setarch i386 make setarch i386 make install mak...