solarisのcコンパイラ、コマンドはccとgccです。で、日本語がコンパイルできるようにするには、どのように設定すればいいのですか?普段はWindowsを使っていて、学校だけUnix系を使っているのであまりUnix系の操作が分からないので、詳しく教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (8件)

補足ありがとうございます。



実は私も詳しいわけではないのであまり断定はできないのですが、
gcc を使う以上、漢字コードは EUC ならば問題なく通るはずです。
ソースコードをEUCにする方法は、muleやemacs を使っているなら、
Ctrl+x Ctrl+k f で漢字モードを変更して、保存して下さい。
(ありがちなのが、ファイルを開いて漢字モードを変更しただけで保存しようとすると、
保存の必要がないと言われて保存されないので、ダミー変更を加えてから保存しませう)

で、コンパイルが通って、しかし文字化けする原因は、
きっと出力される文字コードと端末が解釈する文字コードが不一致だからでしょう。
kterm の場合、-km e オプションをつけて起動すれば、EUCモードになります。
または端末上で Ctrl+Button2(マウス中央ボタン)を押して変更できます。
ちなみに xterm は日本語表示ができませんから、必ず文字化けします。
Solaris固有の端末のことは知らないので、わかりません。

「日本語だけ緑色」というのは・・・すいません、わかりません。
    • good
    • 0

.emacsファイルの内容を見る限り標準ではEUCで保存されるようになっているみたいですね



>k-841さん
>Ctrl+x Ctrl+k f で漢字モードを変更して、保存して下さい。
これってmuleでの設定なんでしょうか?
たしかEmacs20.xだとCtrl+x RET f だったと思いますけど?

>日本語だけ緑色で表示され
これってEmacs内で文字列が緑色で表示されていたって事でしょうか?
であれば.emacsファイルに
(global-font-lock-mode t)
を追加してやれば色が着くと思います。

端末上で漢字に色が着いてた場合は・・・ちょっと分かりません。
多分端末の設定だと思うんですが・・・


なんかコードの問題以外にも問題があるかもしれないので出来れば、ソースコードとコンパイル時のエラーメッセージを出してもらえないでしょうか?
    • good
    • 0
この回答へのお礼

 長い間、何も応答しなくてすいません。FreeBSDを家のパソコンに入れようとして失敗続きでインターネットができませんでした。(つまりウインドウズが消えまくりました。まだ、できてないんですけど)質問のほうは回答してもらった中に含まれているキーワードを頼りに調べている内にだいぶ、分かってきました。本当にありがとうございました。

お礼日時:2001/07/02 01:21

manのつかいかたが違います


man nkfです-はいりません。
manの使い方はman manで出ます
てか、nkfの使い方ぐらいは隣の席の人に聞いたら?
ソラリスつかってるならさすがに知ってるでしょ。
    • good
    • 0

どもです


お~~そうなのか~~\で引っかかることがあるんだぁ~なるほど
ってことはおいらは今まで引っかからなかったラッキーボーイってところかな?(笑)
    • good
    • 0

akino4さんへ



gcc version 2.95.3-2 on cygwinではshift jisでは問題発生しましたよ
akino4さんの問題が無かったのは使用漢字の中に2バイト目に'\'が出てこなかったからではないですか?
'構'の字のようにshift jisにおいて2バイト目に'\'と同様のコードが入るものでは問題が発生しました。
    • good
    • 0

gccのバージョンが古いのかな?


gccは気合がはいっててs-jisで書いてもコンパイルとおったり
して・・・・昔のはもってないからしらないですけど(^^;
少なくとも2.95.2はできるっす

あと考えられるのは記号など機種依存文字は稀にこけます。
まぁ。記号なんて使わないけど
あと、スペースを間違えて全角スペースで打ってただけということも・・・・
他にも半角のつもりがマルチバイト半角つかってみたり
そういうミスはないですか?
    • good
    • 0

コンパイラに食わせているソースコードの文字がShift JISになっているのでしょう。


ソースをEUCコードに変換してから(nkfを使ったりエディタのファイル保存で出来るものもあります。詳しくはUNIXのコンソールでman nkfかお使いのエディタのマニュアルを見てください。)コンパイルしてみてください。
Solarisのccはどうか知りませんがgccはEUCコードであれば、特にコンパイルオプションとかをつけずとも、そのまま通ったはずです。

この回答への補足

man -nkfを試してみまいたが、directryがないというエラーがでました。で、
nkf -e ファイル名 でやってみるとコンソールに表示されましたがファイル自体
eucに変わってないようです。デフォルトで使うにはどうすればいいのでしょうか?
.emacsを開いてみると次のような設定になっています。どうでしょうか?
;;; kanji code
(set-language-environment "japanese")
(set-terminal-cording-system "euc-japan-unix")
(set-keyboard-coding-system *euc-japan*unix)
(set-display-coding-system *euc-japan*unix)
(set-file-coding-system *euc-japan*unix)
(set-default-file-coding-system *euc-japan*unix)
(set-default-process-coding-system *euc-japan*unix *euc-japan*unix)
(define-program-coding-system nil nil (cons *euc-japan*unix *euc-japan*unix))

;;; initialization for egg and wnn
(set-wnn-host-name "localhost")
(setq enable-double-n-syntax t)
(defvar wnn-usr-dic-dir (concat (getenv "HOME") "/.wnndic"))
(defvar wnn-private-dic-dir (concat (getenv "HOME") "/.wnndic"))

;;; misc
(load-library "term/keyswap")
(display-time)

補足日時:2001/06/11 10:55
    • good
    • 0

すいません、これだけでは全く状況がわからないので回答できません。



最低限、何がしたくて、どの部分に日本語を使って、どのようなエラーメッセージが出たかだけでも補足してもらえないでしょうか。

この回答への補足

土日をはさんでしまい遅くなりました。すいません。
もう一回やってみると今度は日本語を入力したら文字化けしました。
printfで表示させる文の中と/**/の中に書くコメントに日本語を使いたいです。
この前は日本語は表示できてコンパイルすると、日本語だけ緑色で表示された
のですが。

補足日時:2001/06/11 10:52
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qgccでコンパイルされた実行ソフトのライセンスについて。

gccでコンパイルしたソフトをフリーではなく商用で販売しようとしています。(開発ソフト自身はLinux上で動作するもの)この場合、gcc自体はフリーソフトとしてGPLで適応されていますが、gccでコンパイルされた実行ソフトには著作権を持たせたり、ソースの公開をせずに商用目的で販売することは可能でしょうか?

Aベストアンサー

>コンパイルされた実行ソフトには著作権を持たせたり、
>ソースの公開をせずに商用目的で販売することは可能でしょうか?

可能だと思います。
コンパイラーの著作権は相当の対価の要求と、複製、頒布、改変を禁止しているのが主な項目です。

コンパイラーの著作権は、コンパイラーを使って作った新ソフトには及びません。
新ソフトの著作権は新ソフトのソースコードを書いた人に帰属します。

Qsolaris2.5.1対応のgccについて

solaris2.5.1に対応している、GNUのgccの最新バージョンをご存知の方が
おられましたら、お教え願えないでしょうか。GNUのホームページなどで
調べてはみたのですが、英語がよく理解できず、解決までには到りませんでした。
つまらない質問ですが、よろしくお願い致します。

Aベストアンサー

追記です。

Intel版ですと、バイナリーが 2.7.3までしか
ないようですが
2.95.3 はコンパイルできるはずです。

QREDHAT7.0 でコンパイル時にGCCのエラーがでます

普通にREDHAT7.0をインストールし、まずインストールされたapache、SSLをアンインストール。
そしてpostgres、apacheを正常にインストールして、PHP3をインストールしようとしたところ、makeの段階で

gcc: unrecognized option `-02'

というコメントが何度も表示され、うまくコンパイルできません。
gccとか意識したこともないので、途方にくれております。
分かる方がいましたら、ご助言ください。

Aベストアンサー

これは単なる記入ミス(コピーミス)でしょうか?
「-02(マイナス ゼロ ニ)」ではなく、「-O2(マイナス オー ツー)」です。
php3なら、
configure <options>
make
make install
で一発のはずですが、、、

もう一度
make distclean
configure <options>
make
make install
とやり直してみても同じエラーが出ますか?

QRed Hat Linux 7Jでのgccコンパイルについて

最近自作のPCに7Jをインストールしたのですが、PLANEX
のLANカード(FNW-9702T)が認識せず、手動でドライバを
導入したいのですが、ソースのvia-rhine.cがgccでうまく
コンパイルできません。

鬼の様なコンパイルエラーが出るので、ヘッダのパスが
まずいのかと思ってその辺をいじりましたがうまくいきま
せんでした。(ちなみにhello.cはOKです)

ネットをあちこち覗くと、どうもバージョン7からgccが
変わりましたみたいな記述は見つかるのですが、対処の
仕方がよくわかりません。

バージョン7でうまくコンパイルできる方法をご存知の方
教えていただけませんか?

Aベストアンサー

gcc -DMODVERSIONS -DMODULE -D__KERNEL__ -isystem /usr/src/linux/include/ -Wall -Wstrict-prototypes -O6 -c viarhine.c
でコンパイルできます。
また、出来あがったドライバを設定するときですが、マニュアルには誤記があり、アルファベットのつづりが間違えています。
マニュアルのバージョンが同じなら、付録C1.RedHatLinux61の場合の
8.******「Kernel module」の値を「viahrine」にしてください。
とありますが、「viarhine」の間違いですのでご注意ください。
社内で同僚が、私が誤記を見つけるまで3日悩んでいました。

Qsolaris9にインストールできるフリーのコンパイラ

Solaris9にフリーのコンパイラをインストールしたいのですが、なかなかありません。
gccをインストールしようとしたのですが、下記のエラーが出てしまいます。
/usr/ucb/cc: language optional software package not installed

Solaris9にインストールできるフリーのコンパイラをご存知の方、もしくは
上記エラーの解決策をご存知の方はおしえてください。

よろしくお願いします。

Aベストアンサー

ほとんど gcc しか選択の余地が無いし,それがベストだと思いますが.
ひょっとして,ソースからgccインストールしようとしてます?
もしそうなら,コンパイラをインストールするのにコンパイラが必要ですけど.

以下にgccのバイナリがあります.

http://sunfreeware.com/

アーキテクチャ(SPARC or INTEL)に応じたパッケージを
使いましょう.


人気Q&Aランキング

おすすめ情報