舞鳴BBSテスト版 注:書き込んだ内容が勝手に変換される場合があります(笑)
新規の話題を投稿すりゅトップページに戻りゅ表掲示板に行きゅ

Back to normal view.

ctermid

投稿者:あちゃいん 投稿日:2005年10月19日 14時49分41秒

emx/gccのinclude\stdio.hを開いて"ctermid"を検索してみてくださいにゃ.
コメントアウトされてますでしょ.つまりemx/gccではctermid()は未サポート.
gcc355も同様.

にゃので,解決法方としては
 1. ctermid()を使わにゃいようにする
 2. ダミーのctermid()を自前で用意する
しかにゃいのだけどにゃ,コードを見る限り問題の部分は #ifdef HAVE_TTYNAME 〜 #endif
で囲われているので,このLynxに関してはおそらくconfigureで「1.使わにゃい」
設定を行うのが筋にゃんだろうと想像しますにゃ.あたしゃconfigureについては無知にゃので
よく分かりませんが,config.hinを見るに,lynx_cfg.hてにゃファイルが作成されてて
その中に #define HAVE_TTYNAME にゃんて行があったりしませんかにゃ〜?


ちにゃみにLYUtils.cのコンパイルが通ってリンクでエラーするのは,
Cはそういうものだから…ってことで.(C++はもちっとマシ)
Cでは未定義の関数を呼び出すだけにゃらエラーににゃらにゃいんす.
たとえば
==== test.c ========
int main()
{
  chagrin();
}
==== test.c ========
にゃんてファイルをコンパイル (gcc -c test.c) しても通っちゃいますにゃ.
コンパイル段階では勝手に「きっとどこかに int chagrin() という関数の
実体があるのだろう」と看做してくれちゃうわけだにゃ〜.
んでいざリンク時 (gcc -o test.exe test.o) に初めて「どこかにあるだろうと
思っていたが,やっぱり無かったにゃ」つーわけでエラーににゃりますにゃ.


Back to normal view.
MyNARI BBS version 1.0.1 (C)2003-2007 Achain