我在编译一个简单的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.
谁能知道我的问题是什么?
答案 0 :(得分:2)
按照下面的教程,建议按以下方式将路径/ usr / bin插入环境变量。
export PATH="/usr/bin:$PATH".
https://askubuntu.com/questions/347466/configure-error-c-compiler-cannot-create-executables
这对我有用。
答案 1 :(得分:1)
如果您正在运行binutils
的后级,有时会发生这种情况。作为第一步,您需要检查gcc
版本的依赖关系并确保它们全部安装完毕。
答案 2 :(得分:1)
可以通过更改环境路径来解决此问题。环境变量在 / etc 目录中设置。移入其中,有一个名为 environment 的文件,其中所有路径都是这样提到的:
PATH =“的/ usr / local / sbin中:/ usr / sbin目录:的的/ usr / local / bin中强>:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏“
我们需要在列表中添加一个/ usr / bin路径,如下所示:
PATH =“的/ usr / local / sbin中:的的/ usr / bin中强>:/ usr / sbin目录:在/ usr / local / bin中:/ sbin目录:/ bin中:在/ usr /游戏:在/ usr /本地/游戏“的
之后我们需要保存文件,然后重新启动系统,然后......工作完成..
P.S。有关环境文件的详细信息可以在网上轻松找到。这是一个不错的链接: /etc/environment file
快乐编译;)
答案 3 :(得分:0)
尝试使用--prefix = --with-sysroot
重新编译binutils