1: 2004-10-02 (土) 19:21:18 [5] | |||
---|---|---|---|
Line 1: | Line 1: | ||
+ | //Created By Uchan | ||
+ | *Visual C++ コンパイラーをosa_dir2で使ってみた記録 | ||
+ | |||
+ | OSASKアプリをC++で作りたくなって、GOのC++コンパイラーを使った。しかし、それがうまく動かないことが発覚し、当初Min-GWを試そうと思ったが、実はこれ、だめコンパイラーらしく、OSASKアプリを作っても例外がでて没。 | ||
+ | ということで、VC++を使うことにしました。 | ||
+ | |||
+ | **VC++って高くないの? | ||
+ | まあ、買うと高いです。ウン千円です。しかし、マイクロソフトから、Visual C++ Toolkit 2003というものが配布されているのです。これは、ビジュアルな開発環境は無いものの、まさしくVC++コンパイラーとリンカーがセットになったもので、ソースファイルがあれば、Visual C++ .NETと同じバイナリが出来ます。(バージョンによる些細な違いはあるでしょうけど。) | ||
+ | 今回の、「osa_dir2でコンパイルする」目的には、これで十分(というか、ビジュアルな開発環境は意味ない)なので、[[早速ダウソ:http://msdn.microsoft.com/visualc/vctoolkit2003/]]。 | ||
+ | |||
+ | **どうやってosa_dir2に組み込むか。 | ||
+ | これが今回の最大問題だったのです。 | ||
+ | まず、ダウソしたVC++(以下VC++)のbinフォルダにあるファイルをすべてosa_dir2のz_toolsフォルダにコピーします。 | ||
+ | そしたら、z_tools内のcom_mak.txtの | ||
+ | CC1 = $(TOOLPATH)cc1.exe -I$(INCPATH) $(CC1OPT) -Os -Wall -quiet | ||
+ | のしたの行に | ||
+ | CL = $(TOOLPATH)cl.exe -I$(INCPATH) /c | ||
+ | と書き足します。 | ||
+ | |||
+ | %.gas : %.ca Makefile | ||
+ | $(CC1) -o $*.gas $*.ca | ||
+ | |||
+ | %.gas : %.cpa Makefile | ||
+ | $(CC1PLUS) -o $*.gas $*.cpa | ||
+ | (これは無い場合がある) | ||
+ | |||
+ | %.nas : %.gas Makefile | ||
+ | $(GAS2NASK) $*.gas $*.nas | ||
+ | |||
+ | %.obj : %.nas Makefile | ||
+ | $(NASK) $*.nas $*.obj | ||
+ | |||
+ | この4つ(3つの場合がある)それぞれを削除し、 | ||
+ | |||
+ | %.cpa : %.cpp Makefile | ||
+ | $(SJISCONV) $*.cpp $*.cpa | ||
+ | の下の行に | ||
+ | %.obj : %.c Makefile | ||
+ | $(CL) $*.c | ||
+ | |||
+ | %.obj : %.cpp Makefile | ||
+ | $(CL) $*.cpp | ||
+ | を書き足します。 | ||
+ | |||
+ | そしたらcom_mak.txtは完成です。 | ||
+ | |||
+ | ***お次はguigui00.hをいじる | ||
+ | guigui00.hも少しいじらないといけないようです。 | ||
+ | |||
+ | まず、42行目の//をはずします("//"だけを削除)。 | ||
+ | |||
+ | 次にguigui00.hの中の、extern __inline__関数を全て削除します。 | ||
+ | |||
+ | 具体的には、 | ||
+ | |||
+ | extern __inline__ void ... | ||
+ | { | ||
+ | .... | ||
+ | } | ||
+ | |||
+ | というところを全て削除(externから } まで)します。 | ||
+ | 削除できたら、それをvcgg00.hという名前で保存します。 | ||
+ | |||
+ | 今度から、C++でアプリを書くときは、このvcgg00.hをインクルードします。 | ||
+ | |||
+ | ** | ||
+ | これをやれば、みんなもVC++を使って快適にC++プログラムをコンパイルできます。 | ||
+ | |||
+ | *こめんと(意見・質問・間違い指摘・その他何でも。) | ||
+ | #comment |
(This host) = http://osask.net