Next: 8.2 実行時のエラーをやっつけろ
Up: 8 デバッグのあれこれ
Previous: 8 デバッグのあれこれ
コンパイラーがエラー・メッセージを出して、コンパイルを中断してしまっ
た場合、嘆く人が多いようだが、これは原因が分かるので、むしろラッキーな
エラーであると考えるべきである。
メッセージは英語であることが多いが頑張って読もう。
- Undefined symbol ほげほげ がどうのこうの、というエラー。これは、
リンカーが実行可能プログラムを作るときに、「ほげほげ」が見つからないと
いう意味で、次の二つの原因が考えられる。
- 「ほげほげ」がスペル・ミスで、本当は「ほけほけ」と書くべきだった。
- 「ほげほげ」は正しい名前であったが、それを含むオブジェクト・ファイル
または、ライブラリィを指定しなかった。つまりプログラムは間違っていなかっ
たが、コンパイルの仕方がおかしい。
SunOS 標準の C コンパイラー cc よりは、GNU C Compiler cc
の方が詳しいメッセージを出力するので、たとえ最終的には cc でコン
パイルするにしても、デバッグの段階では gcc を使う、というのは一
つの手である。
Next: 8.2 実行時のエラーをやっつけろ
Up: 8 デバッグのあれこれ
Previous: 8 デバッグのあれこれ
桂田 祐史
2014-05-27