Hi,
How did you build the wxWidgets?
I presume that you are using Code::Blocks with the MinGW/gcc.
The settings for your project in C::B have to match the settings you build the library with.

So if you build the library as "Monol,ithic, DLL" you (initial) settings are correct.

Now, since you are saying that the project was built successfully but didn't run:

all you needed to do is grab the appropriate DLL (in your case wxmsw312u_gcc_custom.dll) and copy it to the directory where your executable is. Continue doing so until the program is able to run.

If you want to avoid this - rebuild wxWidgets as static, non-monolithic library, then create a new project with appropriate settings, build and run.

Thank you.

P.S.: Why did you want to use "monolithic" build?

Thank you for your answer.
Yes you are right, I have CodeBlocks with MinGW

I will first try copying DLL files, if that won't work, I will rebuild wxWidgets.

>Why did you want to use "monolithic" build?

To be honest I have no idea what that means. I followed some guide from wiki on how to build wxWidgets and used settings from there.

How do I have to build wxWidgets, so that I will be able to have a standalone .exe application at the end, without additional DLL files?
Also, will my already existing application work with this new build?

Hi,
First:
Monolithic build means you will have one huge library to link against. This sometimes produces issues during compile/run-time (not always).
So, while it is supported, usually its not recommended, especially for people who just started playing with wxWidgets.

Second:
In order to have a standalone application without any additional DLL you should just follow instructions in my previous reply - rebuild wxWidgets with appropriate set of options, re-create a project and rebuild. There is no other way. Mixing wxWidgets build will not work. You have to rebuild everything.

Finally, third:
What do you mean by "program crashing"? Does it gives you nice assert dialog or it gives crash dialog from Windows?
Can you provide a backtrace at the time of the crash?
Keep in mind that rebuilding everything like we discuss in point 2 will not fix the crash/assert.

I rebuilt wxWidgets as "C:\MinGW\bin\mingw32-make -f makefile.gcc -j4 BUILD=release MONOLITHIC=1 RUNTIME_LIBS=static SHARED=0 UNICODE=1", copy pasted project code and I made it work in CodeBlocks, but as a standalone application it crashes when I use boost library (read_ini from property_tree). If you have some experience I would really appreciate it. I made stackoverflow question here: https://stackoverflow.com/questions/551 ... pplication.

1) Where can I see if this library is too huge? I can rebuilt wxWidgets without monolithic, but I want to have some idea if it will help at all, because it will take me some time.

2) I rebuilt as I wrote in first paragraph.

3) It gives general windows crash dialog ("A problem caused the program to stop working correctly. Please close the program."). I dont know how to check what error it throws (check my overflow question for code I am using)

So I don't really know how to proceed now. I didn't find anything useful googling ...

First, the latest wxWidgets release will default the build to a "UNICODE", so you don't have to specify it.
I removed the "MONOLITHIC" option - as I wrote it's better to have multi-lib build.
Finally this will produce the debug build of the library, which means you might get a proper backtrace during the crash/assert and see where the problem is.

Also, this should be the rule of thumb - create a debug build of the library if you just starting a project, because it will always contain bugs. ALWAYS!!!

And it will simplify your life as well as the life of people who will help you either here or in SO, as you will be able to produce the backtrace at the time of the crash.

I rebuilt like you said. Then I restarted CodeBlocks and made new project:
-create debug configuration (only this one, not release)
-enable unicode (all others are unchecked
-selected all additional libraries to add to project

Hi,
Are you trying to build an old project?
Yes you shuold get rid of the libraries referenced by doublemax - they are not part of wxWidgets since version 3.0.
For "qa" library please check the build directory and find the appropriate file name. Or you can just get rid of it - its not specifically relevant.

Hi,
Are you trying to build an old project?
Yes you shuold get rid of the libraries referenced by doublemax - they are not part of wxWidgets since version 3.0.
For "qa" library please check the build directory and find the appropriate file name. Or you can just get rid of it - its not specifically relevant.

Right now the main point is to make the application run.

Thank you.

Hey!

New day, new challenges.

So, I rebuilt like you said, created new project (with just unicode option checked), removed linked libraries, recreated GUI in wxSmith and copy pasted the code. I ran it and it works.

However (ofcourse there is however), the program still crashes at same place (right before read_ini(), like described on my stack overflow question).

I am starting to blame boost library, although it seems strange to me that I can't catch the exception with " catch(...)".

Do you have any more ideas what I can try to do? If not, I will remove boost and write the code myself, although it will be pain in the a.