バージョン違いで複数のコンパイラがあります。
makeする際に呼ばれるコンパイラは何で指定すればよいのでしょうか?
Makefileには指定する箇所がないようです。
configureの時に何か指定するのでしょうか?
環境)
CYGWIN_NT-5.1 administrator 1.7.7(0.230/5/3) 2010-08-31 09:58 i686 Cygwin
sh-elf-gcc : gcc version 4.4.0・・・①
gcc : gcc ver3.4.4・・・②
sh-hitachi-elf-gcc : gcc 2.95.3・・・③
makeを実行すると③が使用されるが、①を使いたい。
下記も併せてご覧ください。
関連:http://q.hatena.ne.jp/1314885268
以上、
よろしくお願いします。
makeで使うコンパイラを明示的に指定するにはmake CC=gccのように指定できます。例えばLinuxで/usr/bin/に複数のバージョンのgccが入っているとします。
% ls -la /usr/bin/gcc*
lrwxr-xr-x 1 root wheel 7 Jul 18 2009 /usr/bin/gcc -> gcc-4.0
- r-xr-xr-x 1 root wheel 258368 Feb 19 2008 /usr/bin/gcc-3.3
- rwxr-xr-x 1 root wheel 93088 Sep 26 2008 /usr/bin/gcc-4.0
- rwxr-xr-x 1 root wheel 105680 Oct 1 2008 /usr/bin/gcc-4.2
単にgccを実行するとgcc-4.0が使われますが、gcc-3.3を使ってmakeしたいのであれば、
% make CC=/usr/bin/gcc-3.3
とすればgcc-3.3でコンパイルされます。
ソフトウェアによってはMakefileに
CC = gcc
と書いている事もありますので、その場合はMakefileのCC=を編集してもよいでしょう。
参考: http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/make-intro/simplest.html
関連質問の方は手元にCygwin環境がないので的確な回答はできないです、ごめんなさい。
①、②、③ともPATHは切っていますので、
任意のカレントで以下のコマンドが、実行できます。
sh-elf-gcc -v
gcc -v
sh-hitachi-elf-gcc -v
makeで使うコンパイラを明示的に指定するにはmake CC=gccのように指定できます。例えばLinuxで/usr/bin/に複数のバージョンのgccが入っているとします。
% ls -la /usr/bin/gcc*
lrwxr-xr-x 1 root wheel 7 Jul 18 2009 /usr/bin/gcc -> gcc-4.0
- r-xr-xr-x 1 root wheel 258368 Feb 19 2008 /usr/bin/gcc-3.3
- rwxr-xr-x 1 root wheel 93088 Sep 26 2008 /usr/bin/gcc-4.0
- rwxr-xr-x 1 root wheel 105680 Oct 1 2008 /usr/bin/gcc-4.2
単にgccを実行するとgcc-4.0が使われますが、gcc-3.3を使ってmakeしたいのであれば、
% make CC=/usr/bin/gcc-3.3
とすればgcc-3.3でコンパイルされます。
ソフトウェアによってはMakefileに
CC = gcc
と書いている事もありますので、その場合はMakefileのCC=を編集してもよいでしょう。
参考: http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/make-intro/simplest.html
関連質問の方は手元にCygwin環境がないので的確な回答はできないです、ごめんなさい。
解決できました。
有難うございました。
解決できました。
有難うございました。