Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Iridium Banner AMIStore App Store A1200/A600 4xIDE Interface

AuthorTopic: Compiling MUI++...  (Read 1068 times)

0 Members and 1 Guest are viewing this topic.

Offline EDanaII

Compiling MUI++...
« on: December 02, 2011, 06:29:31 PM »
I've been messing around with various Amiga frameworks trying to see what they have to offer. First, looked at something called AFrame, mosly because I can get it to compile.

Now, I'm looking at MUIPlusPlus. This framework is similar to AFrame, but uses MUI as its foundation, making it potentially more desirable.

Unfortunately, when I tried compiling the examples, they failed with a number of reference errors, leading me to realize that it needed linking to a library. Ultimately, I discovered that the library doesn't exist.

The source code of that library, however, does exist, but when I tried compiling it, I got a number of errors like: BOOL does not name a type or ULONG does not name a type. Using Visual Studio, however, I can use the "Go to Definition" option and it takes me straight to exec/types.h. The path to this file is also defined in my makefile, so... why am I getting this error? Is there some option I'm not supplying to the compiler?

Clues appreciated...

Here is my current makefile:
Code: [Select]
# Project: PlusPlus
# Compiler: m68k-Amiga-OS3
# Compiler Type: MingW 3
# Makefile template for Visual Studio

CPP       = m68k-amigaos-g++.exe
CC        = m68k-amigaos-gcc.exe
WINDRES   = windres.exe
OBJ       = mui.o
LINKOBJ   = mui.o
LIBS      = -L"P:/Windows/AmiDevCpp/usr/local/amiga/m68k-amigaos/lib" -L"P:/Windows/AmiDevCpp/usr/local/amiga/m68k-amigaos/lib/libb/libnix"
INCS      = -I"W:\Amiga\Drives\Development\SDKs\Amiga\3.9\Include\include_h\; P:\Windows\AmiDevCpp\include\c++\3.4.2\backward; W:\Amiga\Drives\Development\MUI\PlusPlus\Include;"
CXXINCS   = -I"W:\Amiga\Drives\Development\SDKs\Amiga\3.9\Include\include_h\; P:\Windows\AmiDevCpp\include\c++\3.4.2\backward; W:\Amiga\Drives\Development\MUI\PlusPlus\Include;"
#RCINCS    = --include-dir ""
BIN       = mui
DEFINES   = -dAMIGA
CXXFLAGS  = $(CXXINCS) $(DEFINES) -s -noixemul
CFLAGS    = $(INCS) $(DEFINES) -s -noixemul
GPROF     = gprof.exe
RM        = rm -f
LINK      = m68k-amigaos-g++.exe

.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after

clean: clean-custom
$(RM) $(OBJ) $(BIN)

$(BIN): $(OBJ)
$(LINK) $(LINKOBJ) -o "mui" $(LIBS)

mui.o: $(GLOBALDEPS) Source\Lib\mui.cpp
$(CPP) -c Source\Lib\\mui.cpp -o mui.o $(CXXFLAGS)
Ed.
 

Offline EDanaII

Re: Compiling MUI++...
« Reply #1 on: December 02, 2011, 09:06:30 PM »
OK, I think I got it figured out. Just needed to add some more include files.

Now I got errors like this:
Code: [Select]
Error 81 error : `int CMUI_String::$_19' is not a static member of `class CMUI_String' W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 1438 1 PlusPlus
Error 56 error : `ULONG CMUI_Window::$_17' is not a static member of `class CMUI_Window' W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 837 1 PlusPlus
Error 61 error : `ULONG CMUI_Window::$_18' is not a static member of `class CMUI_Window' W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 842 1 PlusPlus
Error 55 error : abstract declarator `ULONG' used as declaration W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 837 1 PlusPlus


Anyone got any clues regarding what's going on here?
Ed.
 

Offline 560SL

Re: Compiling MUI++...
« Reply #2 on: December 02, 2011, 11:21:14 PM »
Not a C++ programmer myself, I prefer to stick to C for simplicity reasons, but those method names sure looks weird... "$_...".
AmigaOS: Forward Into The Past
 

Offline TheBilgeRat

Re: Compiling MUI++...
« Reply #3 on: December 03, 2011, 10:36:28 AM »
Quote from: EDanaII;669912
OK, I think I got it figured out. Just needed to add some more include files.

Now I got errors like this:
Code: [Select]
Error 81 error : `int CMUI_String::$_19' is not a static member of `class CMUI_String' W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 1438 1 PlusPlus
Error 56 error : `ULONG CMUI_Window::$_17' is not a static member of `class CMUI_Window' W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 837 1 PlusPlus
Error 61 error : `ULONG CMUI_Window::$_18' is not a static member of `class CMUI_Window' W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 842 1 PlusPlus
Error 55 error : abstract declarator `ULONG' used as declaration W:\Amiga\Drives\Development\MUI\PlusPlus\Source\Lib\\mui.cpp 837 1 PlusPlus


Anyone got any clues regarding what's going on here?


Usually when I get those kinds of errors in java, it has something to do with one class being declared static when the class it implements(implemented by?) is not.
 

Offline Karlos

Re: Compiling MUI++...
« Reply #4 on: December 03, 2011, 11:15:35 AM »
An identifier name starting with a dollar, though legal in C and C++ is not something I'd expect to see (might be the output of an anonymous namespace). There tend to be a fair few macros in BOOPSI based GUIs, perhaps one of these is not expanding properly?
int p; // A