Компиляция pjsip на компиляторе Windows C не может создавать исполняемые файлы

У меня проблемы с компиляцией pjsip на windows через cygwin. Я пытался использовать Android-ветвь формы pjsip http://svn.pjsip.org/repos/pjproject/branches/projects/android/ и Android NDK r8c для Windows.

Это выводится, когда я пытаюсь настроить pjsip.

$ ./configure-android
configure-android: APP_PLATFORM not specified, using android-14
configure-android: TARGET_ABI not specified, using armeabi
configure-android: calling ./configure with env vars:
CC = /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc
CXX = /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-g++
CFLAGS =  -I/ndk/platforms/android-14/arch-arm/usr/include
CXXFLAGS =  -shared --sysroot=/ndk/platforms/android-14/arch-arm
LDFLAGS =  -nostdlib -L/ndk/platforms/android-14/arch-arm/usr/lib/
LIBS =  -lc -lgcc
checking build system type... i686-pc-cygwin
checking host system type... arm-unknown-linux-androideabi
checking target system type... arm-unknown-linux-androideabi
checking for arm-linux-androideabi-gcc... /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc
checking whether the C compiler works... no
aconfigure: error: in `/pjsip-android':
aconfigure: error: C compiler cannot create executables
See `config.log' for more details

Это выдержка из config.log

aconfigure:2490: result: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc
aconfigure:2759: checking for C compiler version
aconfigure:2768: c:\Development\cygwin\ndk\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc.exe --version >&5
./aconfigure: line 2770: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc: Permission denied
aconfigure:2779: $? = 126
aconfigure:2768: c:\Development\cygwin\ndk\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc.exe -v >&5
./aconfigure: line 2770: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc: Permission denied
aconfigure:2779: $? = 126
aconfigure:2768: c:\Development\cygwin\ndk\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc.exe -V >&5
./aconfigure: line 2770: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc: Permission denied
aconfigure:2779: $? = 126
aconfigure:2768: c:\Development\cygwin\ndk\toolchains\arm-linux-androideabi-4.4.3\prebuilt\windows\bin\arm-linux-androideabi-gcc.exe -qversion >&5
./aconfigure: line 2770: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc: Permission denied
aconfigure:2779: $? = 126
aconfigure:2799: checking whether the C compiler works
aconfigure:2821: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc  -I/ndk/platforms/android-14/arch-arm/usr/include  -I/ndk/platforms/android-14/arch-arm/usr/include  -nostdlib -L/ndk/platforms/android-14/arch-arm/usr/lib/ conftest.c  -lc -lgcc >&5
./aconfigure: line 2823: /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc: Permission denied
aconfigure:2825: $? = 126
aconfigure:2863: result: no

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


person Radmilo    schedule 16.12.2012    source источник
comment
Я изменил структуру каталога 777 ndk....   -  person Radmilo    schedule 16.12.2012
comment
вы проверили эти строки с ошибкой? (2770, 2823, ...) , также вы изменили каталог ndk или каталог /ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin?   -  person golimar    schedule 17.12.2012
comment
1. Я не знаю, что искать 2770 (eval $ac_compiler $ac_option ›&5) 2›conftest.err ln2823 (eval $ac_link_default) 2›&5.... 2.Ну, я рекурсивно модифицировал его.. , все должно быть в порядке...   -  person Radmilo    schedule 18.12.2012


Ответы (3)


Убедитесь, что вы запускаете Cygwin в качестве администратора в Windows, это заставило меня немного потрудиться, когда я этого не делал ^^

person PeterGriffin    schedule 21.12.2012

Мне удалось обойти эту ошибку, но все равно не удалось скомпилировать pjsip. Перешел на линукс, там все работает как надо....

person Radmilo    schedule 30.12.2012
comment
Вы помните, как вам удалось пройти эту ошибку? Возможно ты можешь помочь мне. Спасибо - person Lysdexia; 30.01.2018

Если вы посмотрите config.log, вы увидите что-то вроде этого:

aconfigure: 2841: /cygdrive/c/android-ndk-r9/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-gcc -I/cygdrive/c/android-ndk -r9/платформы/android-18/arch-arm/usr/include -I/cygdrive/c/android-ndk-r9/platforms/android-18/arch-arm/usr/include -nostdlib -L/cygdrive/c /android-ndk-r9/platforms/android-18/arch-arm/usr/lib/conftest.c -lc -lgcc ›&5

C:/android-ndk-r9/toolchains/arm-linux-androideabi-4.4.3/предварительно собранный/windows/bin/../lib/gcc/arm-linux-androideabi/4.4.3/../../ ../../arm-linux-androideabi/bin/ld.exe: не удается найти -lc

NDK ld.exe ищет libc (которая находится в arch-arm/usr/lib/), но ему не нравятся пути cygwin. Измените в configure-android строку

экспортировать LDFLAGS=${LDFLAGS} -nostdlib -L${ANDROID_SYSROOT}/usr/lib/

к чему-то вроде этого:

экспортировать LDFLAGS=${LDFLAGS} -nostdlib -Lc:/android-ndk-r9/platforms/android-18/arch-arm/usr/lib/

person Eric-toao    schedule 05.08.2013