autoconf在Linux Mint上抱怨“C编译器无法创建可执行文件”

时间:2013-12-19 09:39:52

标签: linux gcc autoconf

我正在尝试在32位和64位安装上安装Linux Mint 16'perara'。

我的电脑上没有互联网连接,因此必须手动安装所有其他软件。作为一名开发人员,我认为我会尝试使用wxWidgets安装代码块,因此请按照以下说明进行操作:

http://wiki.codeblocks.org/index.php?ti

为了执行安装,似乎我需要预先要求,所以按照说明进行操作 https://developer.gnome.org/gtk3/stable ... lding.html 下载了glib'stuff',解压缩并运行configure。

就在这时,事情就失败了。我在终端收到一条消息,说明C compiler cannot create executablessee 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.

如何诊断这些错误?

5 个答案:

答案 0 :(得分:7)

在某些版本的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程序的副本并单独检查它。

答案 1 :(得分:0)

我有类似的情况。如果我直接从shell运行它们,configure和其他命令将正常工作。我的情况不同了。我从另一个./configure && make运行了Makefile,并设置了CFLAGS变量。这产生了像你的错误。这是因为CFLAGS变量。它会影响configure的工作方式。运行./configure --help会列出一些影响它的内容。也许你应该检查是否有任何设置。

答案 2 :(得分:0)

我遇到了这个错误,因为我的Linux发行版并没有提供编译C程序所需的一切。 build-essentials meta包给了我所需的一切。

sudo apt-get install build-essential

答案 3 :(得分:0)

在RHEL 7上安装python时,我遇到了相同的错误。并且安装此库对我有用:

yum install glibc-devel
yum install glibc-devel.i686

答案 4 :(得分:0)

感谢基思的提示。两次遇到这个问题。最初它在 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':