尝试执行cc1时出错,gcc只想为avr编译?

时间:2012-06-29 00:18:48

标签: macos gcc compiler-errors

我在Mac(Snow Leopard)上安装了gcc,因此我可以编译AVR微控制器。但是,它似乎阻止我编译其他任何东西。我想从astrometry.net构建软件包,当我运行./configure然后让我得到以下内容:

make -C ./qfits-an stage CFLAGS=" -g -Wall -ffinite-math-only -fno-signaling-nans  -march=native -O3 -fomit-frame-pointer -DNDEBUG -fPIC -Winline -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE" LDFLAGS=" -g -Wall -ffinite-math-only -fno-signaling-nans  -march=native -O3 -fomit-frame-pointer -DNDEBUG -fPIC -Winline" CC="gcc"
make -C src stage
gcc -g -Wall -ffinite-math-only -fno-signaling-nans  -march=native -O3 -fomit-frame-pointer -DNDEBUG -fPIC -Winline -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE   -c -o anqfits.o anqfits.c
gcc: error trying to exec 'cc1': execvp: No such file or directory    

gcc -v给出:

Using built-in specs.
Target: avr
Configured with: ./configure --target=avr --enable-languages=c,c++ --disable-nls --disable-libssp --prefix=/usr/local/staging.avr-gcc
Thread model: single
gcc version 4.1.1

我不知道该怎么办!似乎目前一切都设置为仅为AVR平台构建,但我安装了Xcode,所以某处有更多版本的gcc潜伏。这个安装是通过http://www.micahcarrick.com/installing-gnu-tools-avr-gcc.html进行的,如果这有助于了解它是如何设置的(我之前安装了Xcode)。

我希望解决方案很简单。我只是想避免弄乱我的设置然后无法编译任何平台。

非常感谢!

2 个答案:

答案 0 :(得分:3)

您可能希望删除已安装的AVR工具的非交叉编译器命名版本(即gccld等),因此交叉编译器和相关工具,仅可使用特定于目标的名称。

要执行此操作,请找到安装它们的目录(/usr/local/bin?)并找到同时安装的所有工具。举个例子,这就是我的Linux机器上发生的事情(给你一个想法):

$ which gcc
/usr/bin/gcc
$ cd /usr/bin
$ ls -li *gcc*
189389 -rwxr-xr-x 2 root root 268088 Dec  6  2011 gcc
195145 -rwxr-xr-x 1 root root   2018 Aug 16  2010 gccmakedep
189389 -rwxr-xr-x 2 root root 268088 Dec  6  2011 x86_64-redhat-linux-gcc

然后我将删除gcc,将x86_64-redhat-linux-gcc作为启动该编译器的唯一方法(它们共享相同的inode时是硬连接的)。还有其他工具,您可以在同一目录中按日期识别。

另一种方法是将交叉编译器安装到不在$PATH的目录中。

答案 1 :(得分:0)

您是否安装了Xcode命令行工具包(在Xcode首选项窗口中)?没有它,你不会得到命令行gcc(和make,ld等)。