Clang/llvm:crt1.o交叉编译时未找到crti.o
我正在尝试使用clang/llvm在ARM上交叉编译一个示例helloworld程序 我在链接方面遇到了一些问题 clang-target arm none linux gnueabi hello.c 它显示了一些错误,“没有这样的文件或目录”stdio.h” 因此,为了避免错误,我给出了以下命令 clang-target arm none linux gnueabi-sysroot=/path/toolchain/hello.c-I/path/toolchain/sysroot/usr/include/ 然后我成功地克服了错误,但是我得到了链接错误。 错误:“没有这样的文件或目录crt1.o” “没有这样的文件或目录crti.o” 我导出了库路径,并在命令行中给出了路径,但没有任何效果 clang-target arm none linux gnueabi-sysroot=/path/toolchain/hello.c-I/path/toolchain/sysroot/usr/include/-L/path/toolchain/sysroot/usr/lib 还是一样的错误吗 “没有这样的文件或目录crt1.o” “没有这样的文件或目录crti.o” 期待任何帮助。 我使用的是clang-3.0,后来我下载了预构建的二进制文件并升级到clang-3.3。Clang/llvm:crt1.o交叉编译时未找到crti.o,clang,cross-compiling,linaro,Clang,Cross Compiling,Linaro,我正在尝试使用clang/llvm在ARM上交叉编译一个示例helloworld程序 我在链接方面遇到了一些问题 clang-target arm none linux gnueabi hello.c 它显示了一些错误,“没有这样的文件或目录”stdio.h” 因此,为了避免错误,我给出了以下命令 clang-target arm none linux gnueabi-sysroot=/path/toolchain/hello.c-I/path/toolchain/sysroot/usr/inc
提前感谢。:)以上问题可通过以下命令解决
clang -target armv7-none-eabi -sysroot=/toolchain/path/to/sysroot/ hello.c -ccc-gcc-name arm-none-linux-gnueabi-gcc hello.c
这里target表示编译器选择合适的目标。sysroot表示获取头和库的确切路径(无需提供include和library路径)我希望您已经包含了关于它在引擎盖下实际执行的操作的详细信息。