I'm looking to use the Agui library for a game I am working on, but I have no clue how to use makefiles and the like, so I would really appreciate someone giving me specific instructions on how to install the library. I am using Windows with the MinGW compiler. Thanks in advance!

I'm unfortunately not familiar with using MinGW. I have built the library on Linux, and OSX with g++, but on Windows I use Visual Studio. In theory, Agui should compile fine with MinGW, but I have never used it. Maybe others can help you with that aspect.

The library is compiled with CMAKE build system like Allegro. CMAKE generates the make file for you.

First off, I just want to thank you for how much help you have already been. This has already been my best experience asking for help with a programming issue.

Anyway, I used the cmake gui application, told it to make MinGW Makefiles and "use default native compilers", and pressed the Configure and Generate buttons. But, when I use mingw32-make (without the "install" argument because it just refuses to do anything if I use that) it tells me that it can't find "CMakeFiles/agui.dir/src/Agui/Clipboard/WinClipboard.cpp.obj". On further examination I found that no object files seem to have been created, although the folders that should contain them have.

Yeah, I guess agui doesn't support the install target, but that's not too hard, just copy the include and lib folder contents to mingw\include and mingw\lib or set your include search path using -Ipath or linker search path using -Lpath.

And I guess it doesn't support shared either as when I built it with -DSHARED=On it still built static libraries with no dlls.

Ok, I finally got mingw32-make to work (ended up downloading Agui from the forum post instead of from GitHub) and got the example to successfully compile, except now I am evidently still doing something wrong as the resulting program crashes before it really displays anything. Any suggestions? I feed I should mention I am using Code::Blocks to compile.

Edit: I may also want to mention that I didn't touch WANT_SHARED the first time through. When the example program didn't work, I tried it with WANT_SHARED checked, and MinGW's make only made three files and gave me an error I am guessing when it was making libagui_allegro5.dll (if that is in fact a file it is supposed to create).

You should post code for a minimal example program that crashes for you so we can try it too. I built from 0.2 src if that helps. And example.exe crashes for me too, in AppendText("Warning") or some such IIRC. So I built from git, and there are now a boatload of warnings and the dynamic version of agui_allegro5 fails because it doesn't link to allegro.

It compiles just fine, but crashes a few seconds after it starts up without showing anything. The way it crashes I would think that it wasn't finding the font file, but I have tried executing it with the font file in the same folder with no luck. I really want to make sure the library installed correctly and everything before bothering to really get in and learn how to use the library.

EDIT: Just found out by using cout where the program is crashing: it is crashing somewhere inside the addWidgets() function

EDIT2: Just looked at the function and it is only one line:

creator =new WidgetCreator(gui);

EDIT3: I found the line it is crashing on!

exTextBox.appendText("WARNING!!!\n\n");

Have no clue why but hopefully this will give you more to work off of.

I just compiled the code you posted and it ran fine on my machine. Are you using latest git sources? If not this is probably the issue, I was thinking of an older issue with the example but I think the one you mention was fixed after. Otherwise, make sure in the exe directory you have the data folder found in the agui/example folder https://github.com/jmasterx/Agui/tree/master/example

Hey, it's working now! I redownloaded it from the git and this time mingw32-make accepted it. Had to add a display flag to make it render in OpenGL because Allegro with Directx and my game recording software of choice, PlayClaw, do not agree (I thought something was still wrong at first because only the background was displaying), but at least now everything seems to be working correctly! Thank you so much for your help.

I must be doing something wrong, because those functions all seem to appear in TextBox/ExtendedTextBox.hpp and .cpp. I linked to agui though, so I don't know why they're not found. I've deleted all the old versions of .a files I have, for the dlls too. And the only headers I link to are the git ones. I don't know what's wrong though. ExtendedTextBox.cpp is in the list of sources in CMakeLists.txt, so it should be included in the library. I've rebuilt several times now.