(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