こんにちは、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|を変えてください。迷惑メール防止対策です。