▼スレッド
│
└◇2633:教えてください! [maru] 12/06 15:42
└◇2635:Re:教えてください! [もぐりん] 12/06
└◇2639:Re[2]:教えてください! [中島] 12/07
└◇2640:Re[3]:教えてください! [な] 12/07
└◇2643:Re[4]:教えてください! [中島] 12/08 <
ソースプログラムをコンパイルした時にエラー文が出てきました。その内容がいまいち理解できないのでエラー文の意味とその対策を教えて頂けませんか。エラー文は、下記の通りです。スレッド一覧
mo.c:36:warning:return type of `main'is not`int'
mo.c:In function `wait'
mo.c:77:warning:unused variable `st_sens'
mo.c:At top lavel
mo.c:114:error:parse error before'.'token
make:***[mo.o] Error 1
次からは問題のソースも提示してください。スレッド一覧
> mo.c:36:warning:return type of `main'is not`int'
main関数の型がint型でないという警告メッセージ。
たぶん、void型にしているのでは?
通常は、int型のはずです。
C言語の本を読みましょう。
> mo.c:77:warning:unused variable `st_sens'
変数st_sensが使われていないという警告メッセージ。
変数定義のみで、一度も使用していないのでしょう。
> mo.c:114:error:parse error before'.'token
構造体の指定ミスか打ち間違いによるエラーメッセージ。
入力ミスがないか確認してください。
以上
makeもgccも一応日本語メッセージカタログも存在したはずですが、スレッド一覧
使っている人はいるのでしょうか。
私は逆に意味不明になってしまうので使っていません。makeなんかまるで丁半博打。
> makeもgccも一応日本語メッセージカタログも存在したはずですが、スレッド一覧
> 使っている人はいるのでしょうか。
libintlがリンクされていて、環境変数LANGがjaなりに設定されていれば
勝手に日本語メッセージカタログを使います。
ただし、そのままでは出力コードセットの変換をやってくれないので、
ckのような賢いターミナルを使わない限りはまともに読めません。
従って、LC_MESSAGE=Cにするか、libintl2がリンクされていれば、
OUTPUT_CHARSETをCP932あたりに設定することで読めるようになります。
gcc, makeともlibintl2をリンクしていますので、日本語の表示、入力が
できるように設定をした環境ならメッセージが日本語になるはずです。
binutilsがlibintlをリンクしていないのでアレですが。
> 私は逆に意味不明になってしまうので使っていません。makeなんかまるで丁半博打。
私は面白いので普段はLANG=ja_JP.SJIS, OUTPUT_CHARSET=CP932です。
意味不明なときはLC_MESSAGES=Cでやり直し。
まあ開発ツールのエラーメッセージが日本語になったところで意味がある
とは思えませんが。
> 私は面白いので普段はLANG=ja_JP.SJIS, OUTPUT_CHARSET=CP932です。スレッド一覧
> 意味不明なときはLC_MESSAGES=Cでやり直し。
setenv LANG C以外にする場合、念のため、LC_TIMEぐらいはCにすると良い
かもしれません。
sedやgrepなどマルチバイト処理が有効になっていると10倍くらい遅くなる
コマンドや、configureなどファイルの日時を読んだりしているスクリプトが
あるため、また、GUIなツールのメニューが日本語だと野暮ったいので、私は
setenv LANG Cです。
必要に応じてコマンドごとに alias man '(setenv LANG ja ; \man \!*)'
などを指定しています。
>