2012-06-29 67 views
2

我在我的Mac(Snow Leopard)上安裝了gcc,因此我可以編譯AVR微控制器。但是,這似乎阻止了我編寫其他任何東西。我想建立從astrometry.net的包,當我運行./configure然後讓我得到如下:錯誤嘗試執行cc1,gcc只想編譯爲avr?

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潛伏着。如果這有助於瞭解它是如何設置的(我在此之前安裝了Xcode),則此安裝是通過http://www.micahcarrick.com/installing-gnu-tools-avr-gcc.html進行的。

我期望的解決方案很簡單。我只是想避免搞亂我的設置,然後無法爲任何平臺編譯。

非常感謝!

回答

3

您可能想要刪除已安裝的AVR工具的非交叉編譯器命名版本(即gcc,ld等),因此交叉編譯器和相關工具僅可使用target-具體名稱。

爲此,請找到安裝它們的目錄(/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中的目錄中。

+0

運行'which'給出'/ usr/local/avr/bin/gcc'。如果我天真地註釋掉包含在我的.bash_profile中的有問題的$ PATH,那麼一切正常(直到我想編譯一個AVR程序)。我認爲它會尋找avr-gcc,所以我想我可以在/ usr/local/bin中創建一個符號鏈接來代替它。 – Josh

+0

不,只需在交叉編譯時將CC更改爲'Makefile'中的'/ usr/local/avr/bin/gcc'即可。 – trojanfoe

+0

鉭,它做到了! – Josh

0

您是否安裝了Xcode命令行工具包(在Xcode Preferences窗口中)?如果沒有,你不會得到命令行gcc(和make,ld等)。

+0

我沒有明確安裝iirc今年年初推出的包裝。幾年前我安裝了Xcode,因爲我已經可以使用make等。無論如何,我必須使用make來構建avr配置的gcc。 – Josh