【发布时间】:2022-01-05 09:49:49
【问题描述】:
我正在编译使用make 制作的程序,但出现此错误
c++: error: unrecognized command-line option ‘-target’
make[3]: *** [libs/system/CMakeFiles/system.dir/build.make:76: libs/system/CMakeFiles/system.dir/src/system/syscalls.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:504: libs/system/CMakeFiles/system.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:243: CMakeFiles/image-uefi.dir/rule] Error 2
make: *** [Makefile:137: image-uefi] Error 2
我正在运行安装了 Clang-13、CMake 和所有基本开发的 Arch Linux。
任何帮助将不胜感激,请不要居高临下
产生错误的行是这样的,它应该是有问题的 linux,因为有问题的错误(顶行)抱怨 -target 无法识别。
cd /home/user/toy-kernel/build/libs/system && /usr/bin/c++ -I/home/user/toy-kernel/libs/system/src -target x86_64-none-elf -mcmodel=kernel -fno-exceptions -fno-use-cxa-atexit -fno-rtti -nostdlib -ffreestanding -fno-threadsafe-statics -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -mno-3dnow -mno-3dnowa -std=gnu++20 -MD -MT libs/system/CMakeFiles/system.dir/src/system/syscalls.cpp.o -MF CMakeFiles/system.dir/src/system/syscalls.cpp.o.d -o CMakeFiles/system.dir/src/system/syscalls.cpp.o -c /home/user/toy-kernel/libs/system/src/system/syscalls.cpp
【问题讨论】:
-
请edit您的问题并提供失败的实际编译行。
make VERBOSE=1。同一个文件的工作文件也很好。 -
这里!:cd /home/user/toy-kernel/build/libs/system && /usr/bin/c++ -I/home/user/toy-kernel/libs/system/src -目标 x86_64-none-elf -mcmodel=kernel -fno-exceptions -fno-use-cxa-atexit -fno-rtti -nostdlib -ffreestanding -fno-threadsafe-statics -mno-mmx -mno-sse -mno-sse2 -mno -sse3 -mno-sse4.1 -mno-sse4.2 -mno-sse4a -mno-3dnow -mno-3dnowa -std=gnu++20 -MD -MT libs/system/CMakeFiles/system.dir/src/system /syscalls.cpp.o -MF CMakeFiles/system.dir/src/system/syscalls.cpp.od -o CMakeFiles/system.dir/src/system/syscalls.cpp.o -c /home/user/toy-kernel /libs/system/src/system/syscalls.cpp
-
不要发表评论,edit 你的问题。并确保你提供了工作和失败的命令行(标签是哪个)。
-
你确定
/usr/bin/c++是clang 13吗?执行/usr/bin/c++ --version或任何可以打印其版本的操作。 -
大声笑,是的,我跑了 clang++ --version 和 c++ --version,它的 clang 13