2015-09-04 3 views
4

Я пытаюсь создать файл .so для другой архитектуры процессора в OpenH264.Создание .so файла для OpenH264 android

README.md из OpenH264 предложить

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

make os=android NDKROOT=/home/neosoft/android-ndk-r10d/ ARCH=x86 TARGET=android-12 

я получаю что-то вроде

/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 

и когда я пытаюсь в построить его с armeabi

make os=android NDKROOT=/home/neosoft/android-ndk-r10d/ ARCH=armeabi TARGET=android-12 

Я получаю

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 

кто-то может указывать мне, как скомпилировать эту Библиотеку для различной архитектуры процессора.

ответ

0

Для linux:
a. Сначала выполните эту команду

export PATH=ANDROID_SDK_PATH/tools:$PATH 

b. Теперь запустите это для x86 ARCH.

make install os=android NDKROOT=/home/neosoft/android-ndk-r10d TARGET=android-14 ARCH=x86 

Для других Arch просто запустить, заменив арочного типа

make os=android NDKROOT=/home/neosoft/android-ndk-r10d TARGET=android-14 ARCH=armeabi 

Для Windows:
с. Установите MinGW (https://www.youtube.com/watch?v=DHekr3EtDOA).
b. Установите MYSY в папку MinGW/bin.
c. Установите nasm в папку MinGW/bin/1.0/bin.
d. Перейдите в MinGW \ bin \ 1.0 \ location и запустите msys.bat.
e. Запустите команду ниже, заменив тип ARCH.

make install os=android NDKROOT=/home/neosoft/android-ndk-r10d TARGET=android-14 ARCH=x86 
+2

Thansk man .. Вы сэкономили время: D – RajibTheKing

 Смежные вопросы

  • Нет связанных вопросов^_^