雑誌(Interface誌2008年10月号)の記述どおりコンフィギュレーション作業を実行してみるが、以下のエラーメッセージを表示して正常に終了しない。
$ make
g++ -c -g -O2 -Wall -DFILECONTAINER_BINUTILS -I. ./base/parser.cpp
In file included from ./base/message.h:55,
from ./base/parser.h:47,
from ./base/parser.cpp:44:
./base/singleton.h: In static member function ‘static bool SingletonBase::addDe
structor(void (*)())’:
./base/singleton.h:103: warning: declaration ‘struct SingletonBase::chain’ doe
s not declare anything
./base/singleton.h:116: error: ‘atexit’ was not declared in this scope
In file included from ./base/parser.h:49,
from ./base/parser.cpp:44:
./base/directorymap.h: In member function ‘bool Directory::operator==(const cha
r*) const’:
./base/directorymap.h:387: error: ‘strcmp’ was not declared in this scope
make: *** [parser.o] Error 1
他のマシンで試したらうまく動作した。
開発環境の構築で何か不具合が生じているのだろう。
もう一度、環境構築作業をやってみよう。
・Cygwinを再インストール
パッケージの指定で、「Devel」を「Install」とする
・・・が、状況は変わらず。
・Make.exeのバージョンが新しいとエラーが発生することがあるとのそれらしい情報あり。
Interface誌2008年10月号の特集第4章
ということで、Makeをダウングレードしてみるが、やはり状況は変わらず。
・インクルードファイルの扱いの違いでエラーが出るとの情報あり。
gpp 4.3.xによるコンフィグレータのビルドについて
ということで、指定されていたファイルを修正してみた。
・/jsp/cfg/base/fc_binutils.cpp
・/jsp/cfg/base/directorymap.h
・/jsp/cfg/base/singleton.h
これによって、Makeが無事に正常終了し、コンフィグレータを生成できた。
さらに、サンプルプログラム(LEDの点滅)を作成することができた。