Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇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 <


2633● 教えてください![ maru ] 2004 12/06 15:42
ソースプログラムをコンパイルした時にエラー文が出てきました。その内容がいまいち理解できないのでエラー文の意味とその対策を教えて頂けませんか。エラー文は、下記の通りです。

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
スレッド一覧


2635● Re:教えてください![ もぐりん ] 2004 12/06 22:01
次からは問題のソースも提示してください。

> 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

構造体の指定ミスか打ち間違いによるエラーメッセージ。
入力ミスがないか確認してください。

以上
スレッド一覧


2639● Re[2]:教えてください![ 中島 ] 2004 12/07 10:49
 makeもgccも一応日本語メッセージカタログも存在したはずですが、
使っている人はいるのでしょうか。
 私は逆に意味不明になってしまうので使っていません。makeなんかまるで丁半博打。
スレッド一覧


2640● Re[3]:教えてください![ な ] 2004 12/07 15:27
>  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でやり直し。

まあ開発ツールのエラーメッセージが日本語になったところで意味がある
とは思えませんが。
スレッド一覧


2643● Re[4]:教えてください![ 中島 ] 2004 12/08 12:02
> 私は面白いので普段は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 \!*)'
などを指定しています。
>
スレッド一覧

早田のホームページへ
CGIROOM