Подтвердить что ты не робот

Как использовать пользовательский ассемблер для clang?

Я компилировал clang, чтобы использовать его как кросс-компилятор для ARM (путем настройки его с помощью ./configure --target=armv7l-unknown-linux-gnueabihf), но когда я пытаюсь скомпилировать любой код C, он пытается использовать /usr/bin/as. У меня уже есть binutils, скомпилированные для ARM, и они находятся в отдельном каталоге. Как мне настроить clang (или llvm) для использования ассемблера, который я указываю?

4b9b3361

Ответ 1

попробуйте передать опцию -host для настройки, которая приведет к префиксу всех cc ar и т.д. с помощью armv7l-unknown-linux-gnueabihf- например:

./configure --host=armv7l-unknown-linux-gnueabihf --build=i686-unknown-linux-gnu

Поскольку вы используете configure, мы надеемся, что autotools рассмотрят: automake Cross compiling

Ответ 2

У меня всегда возникала проблема с настройкой из исходного каталога с использованием. /configure и в конце концов. В эти дни я всегда настраиваюсь из отдельного каталога, то есть... //configure, хотя мне говорят, что рекомендуется использовать абсолютный путь для configure.

Ваш ARM binutils должен быть установлен в том же префиксе, который вы используете для clang, и убедитесь, что он находится в пути при настройке и создании clang - например, PATH =/some/prefix/bin: $PATH;/configure --target = armv7l-unknown-linux-gnueabihf. Если вы храните их в отдельных каталогах для целей упаковки, тогда установите установку DESTDIR =, чтобы помочь.

Я вообще не строю clang, но скрипты, которые я использую для devkitARM, могут быть полезны - http://sourceforge.net/p/devkitpro/buildscripts/ci/c372699fc7b4de90eb044314ce5bed04db640291/tree/