我正在尝试在 32 位和 64 位安装上安装 Linux Mint 16“petra”。
我的电脑上没有互联网连接,因此必须手动安装所有附加软件。作为一名开发人员,我想我会尝试使用 wxWidgets 安装代码块,因此请按照以下位置的说明进行操作:
http://wiki.codeblocks.org/index.php?ti
为了执行安装,我似乎需要先决条件,因此请按照以下说明进行操作 https://developer.gnome.org/gtk3/stable ... lding.html 下载了 glib“东西”,解压并运行配置。
事情就在这时失败了。我在终端中收到一条消息,指出
C compiler cannot create executables
和 to see config.log for more details
其中包含(除其他内容外)以下内容:
gcc version 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)
configure:4072: $? = 0
configure:4061: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4072: $? = 4
configure:4061: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
如何诊断这些错误?
在某些版本的 gcc 上,
-V
选项告诉它使用指定版本的编译器——但它需要一个参数。它被记录在here。该选项似乎已在 4.5.4 和 4.6.4 之间的某个时间被删除。
但是像这样的配置脚本预计会执行不起作用的操作,因此它可以确定它正在使用什么编译器以及它支持哪些功能。看来此时脚本并没有假设它调用的编译器是 gcc;相反,它正在尝试许多不同的选项来让编译器报告其自己的版本号。
我认为您向我们展示的错误消息:
gcc: error: unrecognized command line option '-V'
与您遇到的问题无关。
您需要关注紧接在错误消息之前的日志部分,即 C 编译器“无法生成可执行文件”。
我尝试的第一件事是编译并执行一个简单的“hello, world”程序。如果这不起作用,那么你就遗漏了一些东西,并且你的编译器确实无法工作。如果它确实有效,那么您需要研究
config.log
文件以查看真正导致错误的原因。
我有时会修改
configure
脚本来打印更多信息来追踪此类问题。例如,它将生成并编译一个小的C程序;您可以添加代码来保存该 C 程序的副本并单独检查它。
我遇到这个错误是因为我的 Linux 发行版没有附带编译 C 程序所需的一切。
build-essentials
元包给了我所需的一切。
sudo apt-get install build-essential
我也遇到过类似的情况。如果我直接从 shell 运行
configure
和其他命令,它们会正常工作。我的情况有所不同。我从另一个 ./configure && make
运行 Makefile
并且设置了 CFLAGS
变量。这产生了像你这样的错误。这是因为 CFLAGS
变量。它会影响 configure
的工作方式。运行 ./configure --help
列出了更多影响它的因素。也许您应该检查是否设置了其中任何一个。
在 RHEL 7 上安装 python 时,我遇到了同样的错误。安装这个库对我来说很有效:
yum install glibc-devel
yum install glibc-devel.i686
感谢基思的提示。遇到这个问题两次了。最初它在 shell 打印输出中报告这一点:
gcc: error: unrecognized command line option '-V'
但是检查 config.log 发现了真正的问题,它是由 Linux guest 的 vboxsf 共享文件夹的权限问题引起的。将构建目标文件夹复制到非共享文件夹修复了该问题。
configure:3995: ./conftest
./configure: line 3997: ./conftest: Permission denied
configure:3999: $? = 126
configure:4006: error: in `/home/my_virtual_box_shared_folder':
我也遇到同样的问题。这是我的理解:
GCC
(您尝试安装的那个,表示 gcc2
)使用 GCC
(您系统中现有的旧版本,表示 gcc1
)来编译自身。-V
和-qversion
是较旧的选项,仅适用于旧版本GCC
。gcc1
没有这些选项,则会出现错误。configure
文件。-V -qversion
。./configure
make
上述尝试对我有用。
为什么
-V -qversion
在configure
中?