EngineerLife

情報系の学生の学習過程を記す。

TECS環境構築-ERROR編part2-

前の記事で書いていたERRORの回避策を示す。

回避策は、2つある。

1つ目は、Cygwinのバージョンを1.71にする。

2つ目は以下の通りである。

-----------------------------------------------------------

回避方法としては、以下の環境変数を設定してください。

% export TECS_CPP="arm-none-eabi-gcc -E -D TECS"

デフォルトでは C pre-processor として gcc が使われます。
この結果、システムのヘッダファイルとして gcc のレジデント用のものが使用
されてしまいます。

arch/gcc/tool_stddef.h から include している /usr/include/limits.h をた
どっていくと
stdint.h が include されていました。
一方、arm-2009q1/arm-none-eabi/include/limits.h からは stdint.h は
include されていないようです。
環境変数を設定することで、ヘッダのサーチパスが変わり arm 用の limits.h
が取り込まれます。

なお、古い環境でビルドする場合も、上記の環境変数を設定するほうが、より正
確なビルドができると言えそうです。
回避策としては、 -I で arm のものを指定することも考えられます。

-----------------------------------------------------------