bochs-2.2.6:错误:C编译器无法创建可执行文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bochs-2.2.6:错误:C编译器无法创建可执行文件相关的知识,希望对你有一定的参考价值。
当我尝试在我的macOS High Sierra上配置bochs-2.2.6时发生错误。这是config.log中的错误部分:
configure:2132: checking for C compiler default output file name
configure:2135: gcc -pipe -O3 -I/sw/include -fomit-frame-pointer -finline- functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays -fpascal-strings -fno-common -arch ppc -Wno-four-char-constants -Wno-unknown-pragmas -Dmacintosh -fpascal-strings -fno-common -arch ppc -Wno-four-char-constants -Wno-unknown-pragmas -Dmacintosh -L/sw/lib conftest.c >&5
clang: error: unknown argument: '-falign-loops-max-skip=15'
clang: error: unknown argument: '-falign-jumps-max-skip=15'
clang: warning: optimization flag '-falign-loops=16' is not supported [-Wignored-optimization-argument]
clang: warning: optimization flag '-falign-jumps=16' is not supported [- Wignored-optimization-argument]
clang: warning: optimization flag '-falign-functions=16' is not supported [-Wignored-optimization-argument]
clang: warning: optimization flag '-falign-labels=16' is not supported [-Wignored-optimization-argument]
clang: warning: optimization flag '-fprefetch-loop-arrays' is not supported [-Wignored-optimization-argument]
configure:2138: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| ;
| return 0;
| }
configure:2177: error: C compiler cannot create executables
See `config.log' for more details.
这台机器上的gcc版本是4.2.1。我检查了我的命令行工具。它们是最新版本。
在MacOS上,gcc
默认是clang
的别名,LLVM C Compiler。您可能在系统上安装了gcc 4.2.1,但诊断:
clang: error: unknown argument: '-falign-loops-max-skip=15'
显示你正在调用的C编译器实际上是clang。 -falign-loops-max-skip
不是clang的命令行选项。自4.4.7以来,它也不是GCC主流版本的选择 - 我可以随时查看。
有evidence from 2006,-falign-loops-max-skip
是gcc 4.1和gcc 4.2的选项,尽管它没有the official 4.1 manual支持。还有evidence这个选项得到了llvm-gcc
的支持,这是基于gcc 4.2的Apple引导的clang前身。
因此,你的gcc 4.2识别这个选项的可能性并不大。 2006年发布的Bochs 2.2.6与gcc 4.1同时具有现代性,它也适合它的选择。
我想你更愿意坚持使用你的uptodate gcc(别名clang),而不是建立这个非常古老的bochs包。在这种情况下,您可以将gcc 4.2指定为C编译器,仅用于通过./configure
脚本的命令行构建bochs。如果您的gcc 4.2安装为/usr/local/bin/gcc-4
,则运行:
./configure CC=/usr/local/bin/gcc-4 [...]
其中[...]
是其他任何选项,如果有的话,你无论如何都要通过。
这可能会让你超过./configure
错误,但如果解决这个问题暴露下一个问题,我不会感到惊讶。
以上是关于bochs-2.2.6:错误:C编译器无法创建可执行文件的主要内容,如果未能解决你的问题,请参考以下文章
configure:error:C编译器在安装Ruby 1.9.3时无法创建可执行文件
我创建几个c文件,然后直接复制的例程C文件,编译错误Build target 'Target 1' compiling main.c... main