5

我在编译一个简单的 C 程序时遇到错误。

#include<stdio.h>
void main()
{
      int i=5;
printf("I value is %d",i);
}

错误是..

/usr/local/bin/ld: this linker was not configured to use sysroots
collect2: error: ld returned 1 exit status

我的 gcc 版本是..

gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.

谁能知道我的问题是什么?

4

4 回答 4

2

按照下面的教程,建议通过以下方式将路径 /usr/bin 插入到环境变量中。

export PATH="/usr/bin:$PATH".

https://askubuntu.com/questions/347466/configure-error-c-compiler-cannot-create-executables

这对我有用。

于 2013-10-03T14:55:32.850 回答
1

这个问题可以通过改变环境路径来解决。环境变量设置在/etc 目录中。在其中移动,有一个名为environment的文件,其中提到了所有路径,如下所示:

PATH="/usr/local/sbin:/usr/sbin: /usr/local/bin :/sbin:/bin:/usr/games:/usr/local/games"

我们需要在列表中添加 /usr/bin 路径,如下所示:

PATH="/usr/local/sbin: /usr/bin :/usr/sbin:/usr/local/bin:/sbin:/bin:/usr/games:/usr/local/games"

在此之后我们需要保存文件然后重新启动系统,然后......工作完成......

Ps 环境文件的详细信息可以很容易地在网上找到。这是一个不错的链接: /etc/environment文件

编译愉快;)

于 2015-02-13T20:51:23.520 回答
1

如果您运行的是binutils. 作为第一步,您需要检查您的gcc版本的依赖项并确保它们都已安装。

于 2013-05-08T05:05:56.577 回答
0

尝试使用 --prefix= --with-sysroot 重新编译 binutils

于 2013-05-08T05:11:17.117 回答