ld: нераспознанный режим эмуляции: armelf_linux_eabi

Когда я компилирую исходный код linphone, произошла ошибка ниже. Может ли кто-нибудь сказать мне, как это исправить. Спасибо.

ld: unrecognised emulation mode: armelf_linux_eabi
Supported emulations: elf_i386 i386linux elf32_x86_64 elf_x86_64 elf_l1om elf_k1om i386pep i386pe
C compiler test failed.

person CodeAlien    schedule 25.01.2015    source источник
comment
Похоже, вы пытаетесь использовать компоновщик x86. Как вы связываете вещи в вашем make-файле? Makefile ссылается где-нибудь на ld?   -  person Michael    schedule 25.01.2015
comment
нет, makefile не содержит никаких «ld». Я не понимаю, что означает использование компоновщика x86. Я пытался скомпилировать проект linphone с открытым исходным кодом, и произошла ошибка. Не могли бы вы дать мне несколько советов. Я новичок в компиляции ndk. Спасибо. @Майкл   -  person CodeAlien    schedule 25.01.2015
comment
У меня тоже есть эта проблема. Вы когда-нибудь находили решение?   -  person hacksoi    schedule 03.01.2017


Ответы (1)


На случай, если кто-то такой же тупой, как я, я получаю эту ошибку, потому что, как я предполагаю, компоновщик, который он пытался использовать, не имел разрешений на выполнение; на самом деле многие вещи не имели разрешений на выполнение. Поэтому я сделал простой chmod -R +x * в корне каталога NDK, и это исправило ситуацию.

Кроме того, если у кого-то есть более элегантное решение, пожалуйста, скажите мне. Например, должен ли я загружать NDK откуда-то еще, кроме их веб-сайта? Возможно установка пакета?

person hacksoi    schedule 03.01.2017
comment
Для сборки GCC я выполнил chmod только для gcc, cpp и g++. Тем не менее, я получаю это, пытаясь скомпилировать с clang и chmod на clang, и clang++ еще не работает. - person GR Envoy; 05.01.2018
comment
Я пытался использовать компилятор clang, но запуск chmod +x clang не работал. После рекурсивного выполнения в корневой папке NDK это сработало. - person Taimoor Ahmad; 19.01.2021