首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为.so系统构建OpenH264文件

为.so系统构建OpenH264文件
EN

Stack Overflow用户
提问于 2015-09-04 13:01:23
回答 1查看 1.7K关注 0票数 4

我正试图在.so中为不同的cpu架构构建OpenH264文件。

README.md of OpenH264建议

代码语言:javascript
运行
复制
add "ARCH=mips" or "ARCH=x86". To build for the older armeabi ABI (which has
armv5te as baseline), add "APP_ABI=armeabi" (ARCH=arm is implicit).

所以我按照命令开枪

对于x86

代码语言:javascript
运行
复制
make os=android NDKROOT=/home/neosoft/android-ndk-r10d/ ARCH=x86 TARGET=android-12

我得到的东西是

代码语言:javascript
运行
复制
/usr/bin/ld: cannot find crti.o: No such file or directory
/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [libopenh264.so] Error 1

当我试图用阿米比建造它的时候

代码语言:javascript
运行
复制
make os=android NDKROOT=/home/neosoft/android-ndk-r10d/ ARCH=armeabi TARGET=android-12

我得到了

代码语言:javascript
运行
复制
cc -O3 -DHAVE_NEON -Wall -fno-strict-aliasing -fPIC -DLINUX -MMD -MP  -Icodec/common/arm/ -march=armv7-a -mfpu=neon -Icodec/api/svc -Icodec/common/inc   -c -o codec/common/arm/copy_mb_neon.o codec/common/arm/copy_mb_neon.S
cc: error: unrecognized command line option ‘-mfpu=neon’
make: *** [codec/common/arm/copy_mb_neon.o] Error 1

有人能告诉我如何为不同的cpu架构编译这个库吗?

EN

回答 1

Stack Overflow用户

发布于 2016-07-21 06:15:19

For linux :

代码语言:javascript
运行
复制
 a. First  run this command 
代码语言:javascript
运行
复制
export PATH=ANDROID_SDK_PATH/tools:$PATH

现在为x86 ARCH运行这个。

代码语言:javascript
运行
复制
 make install os=android NDKROOT=/home/neosoft/android-ndk-r10d TARGET=android-14 ARCH=x86 

对于其他的拱门,只需通过替换Arch类型来运行它。

代码语言:javascript
运行
复制
make os=android NDKROOT=/home/neosoft/android-ndk-r10d TARGET=android-14 ARCH=armeabi 

For Windows :

a.安装MinGW( https://www.youtube.com/watch?v=DHekr3EtDOA)。

b.在MinGW/bin文件夹中安装MYSY。

c.在MinGW/bin/1.0/bin文件夹中安装nasm。

转到MinGW\bin\1.0\ location并运行msys.bat。

通过替换ARCH类型按命令运行。

代码语言:javascript
运行
复制
make install os=android NDKROOT=/home/neosoft/android-ndk-r10d TARGET=android-14 ARCH=x86 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32398763

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档