[osask 7232] 以前GOでC++エラーの続き

こんにちは、uchanです。

[osask 7034] C++でエラー
の話題の続きです。

久しぶりにC++でのプログラミングに挑戦したんです。
以前はだめだったMinGWを使いました。バージョンは4.1.0です。

結果をさきに言いますと、以前は例外が発生していたhellocp3.cppをmake run
すると、なんと正常に動きました!

MinGWはD:\Mingwにインストールしました。D:\Mingw\binにパスを通しました。
D:\Mingw\includeフォルダをD:\Mingw\include_に改名した後、新たに
D:\Mingw\includeフォルダを作り、そこにtolset08のz_tools\guigui00フォルダの中身
をすべてコピーしました。

それで、com_mak.txtに

GCC      = g++.exe $(CC1OPT) -Os -Wall

%.obj : %.cpp Makefile
	$(GCC) -c -o $*.obj $*.cpp

を書き加えました。

これでmake runしたら、見事例外無しで実行できました。

しかし、少し気になるところがありました。
%.obj : %.cpp Makefile
	$(GCC) -c -o $*.obj $*.cpp
この記述を
%.obj : %.cpp Makefile
	$(SJISCONV) $*.cpp $*.cpa
	$(GCC) -c -o $*.obj $*.cpa
のようにすると、
g++.exe  -Os -Wall -c -o hello.obj hello.cpa
g++.exe: hello.cpa: linker input file unused because linking not done
と表示されてしまってコンパイルできませんでした。

----------------------------------hellocp3.cpp----------------------------------
#define AUTO_MALLOC 0
extern "C"
{
	#include <guigui00.h>
	void OsaskMain();
};

class MyClass
{
	int i;
public:
	MyClass()
	{
		if (1 == 1) {
			if (0 != 0)
				0;
		}
		if (1 == 1) {
			if (0 != 0)
				0;
		}
		i = 0;
		i = 5;
	}
};

LIB_WINDOW *win;
LIB_TEXTBOX *title;

void OsaskMain()
{
	lib_init(0);

	// ウィンドウオープン
	win = lib_openwindow(AUTO_MALLOC, 0x0200, 8 * 20, 16 * 5);
	title = lib_opentextbox(0x1000, AUTO_MALLOC, 0, 10, 1, 0, 0, win, 0x00c0, 0);
	lib_putstring_ASCII(0x0000, 0, 0, title, 0, 0, "hellocp3");

	MyClass fs;
	lib_waitsignal(0x0001, 0, 0);
}

----------------------------------hellocp3.cpp----------------------------------
それでは。

------------------------------------------------------------
Name    uchan
Email   uchan_pc|at-Mark|yahoo.co.jp
|at-Mark|を変えてください。迷惑メール防止対策です。




ML番号でジャンプ
ML単語検索