2013-03-11 62 views
0

我一直試着去編譯X264的Android與線程支持......但沒有成功...編譯X264藉助Android平臺的線程支持

我已經成功地編譯同樣不支持線程... configure命令如下:

./configure --prefix=$PREFIX \ 
--enable-pic \ 
--host=arm-linux \ 
--disable-cli \ 
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \ 
--sysroot=$PLATFORM 

其中PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86PLATFORM=$NDK/platforms/android-14/arch-arm

我也嘗試過並且沒有選項--enable-staticextra-ldflags="-lpthread",但嘗試make時它以錯誤結束。

有什麼辦法可以完成上面說的...?

+0

什麼錯誤都給出? – 2013-03-12 22:04:19

+0

查看配置期間創建的config.log文件。應該有幾個(大約4)pthread_create測試失敗。你的任務是閱讀爲什麼失敗,並相應地改變配置,至少其中一個不會失敗。您還可以添加--extra-cflags =「 - v」進行配置,以便gcc輸出將更加詳細,以找出哪些路徑用於標題和庫搜索。 – nobody555 2013-03-13 07:10:40

+0

@ nobody555:會嘗試,並儘快報告相同... – Stryker33 2013-03-14 14:48:02

回答

0

,似乎在config.log出現在上下文線程支持是cannot find lpthread錯誤... ,進行了手動從configure文件中刪除-lpthread解決。 但隨後的配置開始在測試包括struct cpu_set_tCPU_COUNT()失敗...

似乎某些libc功能和定義不包括在提供的Android NDK(R8D)代碼...在上述情況CPU_COUNT()和定義struct cpu_set_t ...

以上部分的解決方法是修補sched.hlatest version ... 有在Android問題列表說明這將有望出現同樣的問題幾個錯誤報告地址在接下來的NDK版本...

而且x264可以彙編包括「ARM支持功能」通過包括選項--extra-cflags="-mfloat-abi=softfp" ...