(toppers-users 170) Re: [Cygwin] cfg のコンパイルが失敗

Takayuki WAKABAYASHI takayuki @ ertl.ics.tut.ac.jp
2001年 5月 13日 (日) 23:38:28 JST


豊橋技術科学大学の若林です。

MURANAKA Masaki さんは書きました:
 > 最新の Cygwin に含まれる gcc (2.95.3-4) で、
 > -DJAPANESE つきで cfg をビルドしようとすると、
 > 
 > -_-_
 > configurator.cpp: In function `int main(int, char **)':
 > configurator.cpp:75: unknown escape sequence: `\' followed by char code 0x81
 > -_-_
 > と怒られます。

こちらでも確認しました。
これは文字コードによるエラーです。
SJISでは「ソ」の文字が0x83 0x5c(\)であるため、
後続する「ー」の文字(0x81 0x5b)の最初の0x81と
組み合わさってエスケープシーケンスに見えてしまうのが
原因です。

この対策方法はもなかさんのおっしゃる通り、
「ー」の前に\を入れてあげれば、\\に見えるので
ちゃんと通ります。

実は前から出ていました。文字コードが違うことでエラー
が出てることには気付いていたのですが、何を思ったのか
全部EUCに変換したソースを使っていました。
しかしEUCでコンパイルしてしまうと、cygwinのコンソールは
WindowsのSJISコンソールなので、エラーメッセージが読めません。
指摘されるまで、このことがすっかり頭の中から消えていました。

しっかりと直すには、cygwinにjspのある場所がSJISコードを
使っているということを教えてあげる方法が一番なのですが、
個人的には「ソ」の文字を取り除く方が早くていいかなと思っています。

#define MSG_ALREADYGIVENSRCFILE "入力ファイル名はすでに与えられている"

もなかさん、ありがとうございました。

//-------------------------------------------------
//Takayuki WAKABAYASHI (わかばやし たかゆき)
//  mailto: takayuki @ ertl.ics.tut.ac.jp
//-------------------------------------------------
//豊橋技術科学大学 工学研究科 情報工学専攻
//  組込みリアルタイムシステム研究室
//    Embedded and realtime system laboratory
//      Dept. of information and computer science
//        Toyohashi univ. of technology