我想编译一个简单的程序 "int main(){return 0;}" 到 RISC-V 处理器。使用的 LLVM/Clang 版本是 9.0,我希望能够在 RISC-V 模拟器上运行编译好的程序,就像这个链接中提到的 https://github.com/riscv/riscv-tools。
我的问题是,我无法列出 Clang 支持的目标,仅能使用以下命令列出支持的 LLC-s:
我的问题是,我无法列出 Clang 支持的目标,仅能使用以下命令列出支持的 LLC-s:
llc --version
llc -march=xxARCHTYPExx -mattr=help
没有任何类型的RISC-V处理器列出。
所以我尝试查找三元组文件:llvm-project\llvm\include\llvm\ADT\Triple.h
并尝试执行如下命令:clang hello.c -target riscv32 -march=rv32imafd
但我遇到了以下错误:
错误:无法创建目标:'No available targets are compatible with triple "riscv32"'
有人可以帮我获取有效的RISC-V目标吗?我不能编译程序,但我知道LLVM支持RISC-V。
cmake -DDLLVM_TARGETS_TO_BUILD=all .
会给您提供一个支持所有目标的LLVM版本。 - arntDLLVM_TARGETS_TO_BUILD
根据此网页,如果我不指定目标,则默认为“all”: https://llvm.org/docs/CMake.html - Zoltán