Я нахожусь под Ubuntu 12.04 x86 64 бит, я скомпилировал 32-битную версию llvm/clang
из официального хранилища SVN успешно.
Я сейчас пытаюсь скомпилировать код C ++ для ARM, на данный момент меня не волнуют версии платформ, такие как armv5
против armv7a
, Я сосредоточен на том, как работает коммутатор платформы clang
:
llvm-config --targets-built
ARM CellSPU CppBackend Hexagon Mips MBlaze MSP430 NVPTX PowerPC Sparc X86 XCore
но следующая команда не работает
clang++ -arch arm soft.cpp -o soft_ARM
выход
clang-3: warning: argument unused during compilation: '-arch arm'
Я также пробовал gcc-подобные варианты или другие комбинации, такие как -arch=arm
, -arch=armv7a
, -march=armv5
но ничего не работает.
Прочитав несколько документов, я заметил, что clang работает на ARM только под MAC OS X / Darwin и не должен работать на ARM под другими ОС.
Как я могу скомпилировать для ARM с Clang и каков выход llvm-config --targets-built
действительно о?
-Арка только для Дарвина. Вы должны использовать -target на не-darwin платформах. Также можно скомпилировать llvm / target, указав целевой триплет, или создать ссылку из clang в -clang. В вашем случае целевой триплет будет arm-none-linux-gnueabi
Других решений пока нет …