2015-12-24 2 views
1

Я пытаюсь перекрестно скомпилировать libcurl для ARMv7 (Android), и я не могу заставить его скомпилировать.CC libcurl для ARMv7

У меня есть SDK и NDK с автономной цепочкой инструментов и CC уже настроены. Хотя в то время как CC установлен, он разбивает компилятор.

К примеру, у меня есть Набор инструментов установить в моем Bashrc так:

export NDK=/home/anthony/android-ndk-r9b 
export SYSROOT=$NDK/platforms/android-16/arch-arm 
export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT" 

Если я оставить CC раскомментирована, я получаю сообщение об ошибке при попытке CC Libcurl:

curl-7.46.0 $ ./configure$ prefix=/home/anthony/Documents/Ruby/androidSMS/Curl/curl-7.46.0/lib/curl 
--build=i686-pc-linux-gnu --host=arm-linux-gnueabi 
--target=arm-linux 
CC=/home/anthony/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc-4.8 


checking whether to enable maintainer-specific portions of Makefiles... no 
checking whether make supports nested variables... yes 
checking whether to enable debug build options... no 
checking whether to enable compiler optimizer... (assumed) yes 
checking whether to enable strict compiler warnings... no 
checking whether to enable compiler warnings as errors... no 
checking whether to enable curl debug memory tracking... no 
checking whether to enable hiding of library internal symbols... yes 
checking whether to enable c-ares for DNS lookups... no 
checking whether to disable dependency on -lrt... (assumed no) 
checking for path separator... : 
checking for sed... /bin/sed 
checking for grep... /bin/grep 
checking for egrep... /bin/grep -E 
checking for arm-linux-gnueabi-ar... /usr/bin/arm-linux-gnueabi-ar 
checking for a BSD-compatible install... /usr/bin/install -c 
checking for arm-linux-gnueabi-gcc... /home/anthony/android-ndk-r9b/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc-4.8 
checking whether the C compiler works... no 
configure: error: in `/home/anthony/Documents/Ruby/androidSMS/Curl/curl-7.46.0': 
configure: error: C compiler cannot create executables 
See `config.log' for more details 

Мне нужно открыть новый терминал после того, как вы обратили внимание на CC. выключение CC не будет работать. То же самое касается. Может кто-нибудь, пожалуйста, скажите мне, что я делаю неправильно.

+0

Я никогда не видел вариант, включенный в определение CC (т. Е. '.....-- sysroot = $ SYSROOT'. Но у меня нет опыта работы с сборками Android. Просто мысль. Удачи! – shellter

+0

CC успешно настроен и работает. Я успешно выбрал сервер C для моего Nexus 6. @shellter прочитал об этом -> http://developer.android.com/ndk/guides/standalone_toolchain.html – Aguevara

ответ

1

Я написал класс ftp вместо перекрестного компиляции libcurl для ARMv7. Закрывая это.

+0

Вся цель заключалась в том, чтобы устранить необходимость использования простых текстовых учетных данных в сценарии bash, который я написал и установил в каталоге/data/local. AC ftp uploader был бы более идеальным, поэтому мне не пришлось бы иметь дело с дополнительными функциями, чтобы получить его работает в фоновом режиме и добавляет логику/управление потоком, чтобы заставить его работать в нужное время. Вероятно, это будет больше ресурсов программа C будет слишком, так как ее намеченная цель - процесс демона. – Aguevara

+0

Кажется, демонизация приложения будет очень утомительной. Я думаю, его обратно к попытке получить эту кросс-компиляцию для работы LOL – Aguevara