3

AVR マイクロコントローラー用にコンパイルできるように、Mac (Snow Leopard) に gcc をインストールしました。しかし、それは私が他のもののためにコンパイルすることを妨げているようです. 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 をインストールしていました)。

解決策は簡単だと思います。設定を台無しにして、どちらのプラットフォームでもコンパイルできなくなるのを避けたいだけです。

どうもありがとう!

4

1 に答える 1

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 を共有しているため、それらはハード リンクされています)。同じディレクトリ内の日付で識別できる他のツールもあります。

別の方法として、クロスコンパイラを .xml にないディレクトリにインストールする方法があります$PATH

于 2012-06-29T09:50:26.023 に答える