Thanks. This is the makefile from DEVC++ in winXP. I tried both codeblocks and devcpp. They are giving the same error. Hope posting this long makefile is OK.
# Project: sqplus
# Compiler: Default GCC compiler
# Compiler Type: MingW 3
# Makefile created by wxDev-C++ 6.10.2 on 25/05/08 07:16
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = Objects/MingW/SquirrelVM.o Objects/MingW/zSqPlus.o Objects/MingW/SquirrelBindingsUtils.o Objects/MingW/SquirrelBindingsUtilsWin32.o Objects/MingW/SquirrelObject.o
LINKOBJ = Objects/MingW/SquirrelVM.o Objects/MingW/zSqPlus.o Objects/MingW/SquirrelBindingsUtils.o Objects/MingW/SquirrelBindingsUtilsWin32.o Objects/MingW/SquirrelObject.o
LIBS = -L"C:/Dev-Cpp/Lib"
INCS = -I"include" -I"D:/CD-SQUIRREL/SQUIRREL2_1_1_sqplus_25/include" -I"D:/CD-SQUIRREL/SQUIRREL2_1_1_sqplus_25/sqplus" -I"D:/CD-SQUIRREL/SQUIRREL2_1_1_sqplus_25/sqstdlib"
CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" -I"C:/Dev-Cpp/" -I"C:/Dev-Cpp/include/common/wx/msw" -I"C:/Dev-Cpp/include/common/wx/generic" -I"C:/Dev-Cpp/include/common/wx/fl" -I"C:/Dev-Cpp/include/common/wx/gizmos" -I"C:/Dev-Cpp/include/common/wx/html" -I"C:/Dev-Cpp/include/common/wx/mmedia" -I"C:/Dev-Cpp/include/common/wx/net" -I"C:/Dev-Cpp/include/common/wx/ogl" -I"C:/Dev-Cpp/include/common/wx/plot" -I"C:/Dev-Cpp/include/common/wx/protocol" -I"C:/Dev-Cpp/include/common/wx/stc" -I"C:/Dev-Cpp/include/common/wx/svg" -I"C:/Dev-Cpp/include/common/wx/xml" -I"C:/Dev-Cpp/include/common/wx/xrc" -I"C:/Dev-Cpp/include/common/wx" -I"C:/Dev-Cpp/include/common" -I"D:/CD-SQUIRREL/SQUIRREL2_1_1_sqplus_25/include" -I"D:/CD-SQUIRREL/SQUIRREL2_1_1_sqplus_25/sqplus" -I"D:/CD-SQUIRREL/SQUIRREL2_1_1_sqplus_25/sqstdlib"
RCINCS = --include-dir "C:/Dev-Cpp/include/common"
BIN = Output/MingW/sqplus.a
DEFINES =
CXXFLAGS = $(CXXINCS) $(DEFINES)
CFLAGS = $(INCS) $(DEFINES)
GPROF = gprof.exe
RM = rm -f
LINK = ar
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after
clean: clean-custom
$(RM) $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(LINK) rcu "$(BIN)" $(LINKOBJ)
Objects/MingW/SquirrelVM.o: $(GLOBALDEPS) SquirrelVM.cpp sqplus.h SquirrelObject.h sqplus.h SquirrelVM.h SquirrelBindingsUtils.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h
$(CPP) -c SquirrelVM.cpp -o Objects/MingW/SquirrelVM.o $(CXXFLAGS)
Objects/MingW/zSqPlus.o: $(GLOBALDEPS) zSqPlus.cpp sqplus.h SquirrelObject.h sqplus.h SquirrelVM.h SquirrelBindingsUtils.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h
$(CPP) -c zSqPlus.cpp -o Objects/MingW/zSqPlus.o $(CXXFLAGS)
Objects/MingW/SquirrelBindingsUtils.o: $(GLOBALDEPS) SquirrelBindingsUtils.cpp sqplus.h SquirrelObject.h sqplus.h SquirrelVM.h SquirrelBindingsUtils.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h
$(CPP) -c SquirrelBindingsUtils.cpp -o Objects/MingW/SquirrelBindingsUtils.o $(CXXFLAGS)
Objects/MingW/SquirrelBindingsUtilsWin32.o: $(GLOBALDEPS) SquirrelBindingsUtilsWin32.cpp sqplus.h SquirrelObject.h sqplus.h SquirrelVM.h SquirrelBindingsUtils.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SquirrelBindingsUtilsWin32.h SquirrelBindingsUtils.h
$(CPP) -c SquirrelBindingsUtilsWin32.cpp -o Objects/MingW/SquirrelBindingsUtilsWin32.o $(CXXFLAGS)
Objects/MingW/SquirrelObject.o: $(GLOBALDEPS) SquirrelObject.cpp sqplus.h SquirrelObject.h sqplus.h SquirrelVM.h SquirrelBindingsUtils.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h SqPlusConst.h
$(CPP) -c SquirrelObject.cpp -o Objects/MingW/SquirrelObject.o $(CXXFLAGS)
----------------------------------------------------------------------------------------------------
The ERROR MESSAGE____________________________________________________________________
..\SQUIRREL2_1_1_sqplus_25\sqplus\SquirrelObject.h incomplete type
`SquirrelVM' used in nested name specifier
// === BEGIN code suggestion from the Wiki ===
// Get any bound type from this SquirrelObject. Note that Squirrel's
handling of references and pointers still holds here.
template<typename _ty>
inline _ty Get(void) {
sq_pushobject(SquirrelVM::_VM,GetObjectHandle());
_ty val = SqPlus::Get(SqPlus::TypeWrapper<_ty>(),SquirrelVM::_VM,-1);
sq_poptop(SquirrelVM::_VM);
return val;
}