Tôi đang ở dưới Ubuntu 12.04 x86 64 bit, tôi đã biên dịch phiên bản 32 bit của llvm/clang
từ kho lưu trữ svn chính thức thành công.Clang không biên dịch mã cho các nền tảng khác ngoài x86
Tôi bây giờ cố gắng để biên dịch mã C++ cho ARM, vào thời điểm này tôi không quan tâm về các phiên bản nền tảng như armv5
vs armv7a
, tôi đang tập trung vào cách thức chuyển đổi nền tảng làm việc cho clang
:
llvm-config --targets-built
ARM CellSPU CppBackend Hexagon Mips MBlaze MSP430 NVPTX PowerPC Sparc X86 XCore
nhưng lệnh sau đây không hoạt động
clang++ -arch arm soft.cpp -o soft_ARM
đầu ra là
clang-3: warning: argument unused during compilation: '-arch arm'
Tôi cũng đã thử các biến thể giống như gcc hoặc các kết hợp khác như -arch=arm
, -arch=armv7a
, -march=armv5
nhưng không có gì có vẻ hoạt động.
Sau khi đọc một số tài liệu tôi nhận thấy rằng clang hoạt động cho ARM chỉ trong MAC OS X/Darwin và nó không phải làm việc cho ARM trong hệ điều hành khác.
Làm thế nào tôi có thể biên dịch cho ARM bằng tiếng kêu và đầu ra của llvm-config --targets-built
thực sự là về cái gì?
tôi vừa biên soạn một phiên bản 64 bit của clang và hành vi của nó luôn giống như trước đây. – user1797612