vine-users ML アーカイブ



[vine-users:050072] Re: Mac 上で書いたソースを Vine でコンパイルできません

  • From: OHKUBO Tadatoshi <ohku@xxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:050072] Re: Mac 上で書いたソースを Vine でコンパイルできません
  • Date: Sat, 04 May 2002 09:06:59 +0900
大久保です。
# Reply-Toトラップに引っかかってしまった(T_T)。

> 知人に、MacとLinux(UNIX一般)との改行コードの違いを指摘され、
>tr 015 012 < CDserach80.c > CDserach80.c.conv
>mv CDserach80.c.conv CDserach80.c
>などとしてみたのですがやはりコンパイルできません(ちなみにコード変換を

これがまともに動くとは思えないです(5が2に化ける?)。
意図したように動作させるには、以下のどちらかのようにする必要がある
のでは。

	tr '\015' '\012' < CDserach80.c > CDserach80.c.conv
	tr '\r' '\n' < CDserach80.c > CDserach80.c.conv

こういう操作をしたときは、うまくいっているのかをodコマンドあたりで
確認したほうがいいです。
# というかそうするのが最低限の義務のような(--;;。

とりあえずod -tx1 CDserach80.c.convで16進ダンプが見れますので、最初の
数行で改行が0x0d→0x0a(CR→LF)に変換されているかわかるはずです。

>emacsで
>行うためにはどうすればよいのでしょうか?)。また漢字コードがSJISになって

macは使わないので、emacsでどう改行の変換(自動変換?)をすればよいかは
知りません。

>いるか
>もしれないからとう話で
>cp CDserach80.c CDserach80.c_old
>nkf -j CDserach80.c_old CDserach80.c
>ともしてみましたが、やはりだめでした(これもemacs上でできるそうですがや

これもnkfの使い方間違っているような。
# jman nkfとかしてマニュアル読みました?

gccでJISのままコンパイル通るかどうか記憶が定かでないので、例えば決め
打ちでSJIS→EUC変換、改行をUNIX形式のLFのみにする場合、以下のように
なると思いますが。

	nkf -S -e -Lu CDserach80.c_old >CDserach80.c