User forums > Using Code::Blocks
WxWidgets and Code:blocks beginner-Do I build 64 or 32 bit?
sodev:
There is no need to create the setup.h file from the setup0.h file if you are using a release archive, it is already done there, you only need to do that if you are using a git clone.
The problem is most probably that the Makefile fails to create the required output directories, this is a long outstanding bug in these generated Makefiles. Running make multiple times might create the directories but usually fails especially if using parallel builds.
You have to create the directories yourself, it is something like mswu\wx\msw and mswud\wx\msw in the lib and dll output directory.
djsb:
So assuming i'm starting from C:\wxWidgets-3.0.4\build\msw which directories do I have to create? Is it C:\wxWidgets-3.0.4\build\msw\lib\mswu\wx\msw and C:\wxWidgets-3.0.4\build\msw\dll\mswud\wx\msw?
What are these directories for? Thanks.
PS: I wonder if the steps mentioned in this post will solve my problem?
https://forums.wxwidgets.org/viewtopic.php?t=43289
djsb:
So finally got something to happen. This is what I did
a/ mkdir C:\wxWidgets-3.0.4\lib\gcc_dll\mswu\wx
b/copy C:\wxWidgets-3.0.4\include\wx\msw\setup.h C:\wxWidgets-3.0.4\lib\gcc_dll\mswu\wx\setup.h
c/Rename C:\Program Files (x86)\CodeBlocks\MinGW\mingw32 to C:\Program Files (x86)\CodeBlocks\MinGW\mingw32_old (prevents as.exe error dialog pop-up).
//In my case it was an issue with it trying to execute as.exe from MinGW/mingw32/bin instead of MinGW/bin (the libintl DLL doesn't exist in the former location). I renamed the MinGW/mingw32 folder to prevent it being found and the compilation succeeded.
d/cd C:\wxWidgets-3.0.4\build\msw
e/mingw32-make SHELL=CMD.exe -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 CXXFLAGS="-fno-keep-inline-dllexport -std=gnu++11" setup_h
f/mingw32-make SHELL=CMD.exe -f makefile.gcc BUILD=release UNICODE=1 SHARED=1 MONOLITHIC=1 CXXFLAGS="-fno-keep-inline-dllexport -std=gnu++11"
This resulted in a screen full of gcc commands then some if exist command lines that appear to delete files from the gcc_dll directory. Then the g++ commands.
The C:\wxWidgets-3.0.4\lib\gcc_dll\mswu\wx directory is empty apart from the setup.h file that was copied earlier. This directory was listed in the commands that fill the screen.
The only result I can see from all this is a load of c++ files in newly created directories. All the directories have yesterdays date but the files are dated at an earlier date.
Hoping to test out this library later today.
PS: Just tried to compile a minimal example. Code blocks cant find a DLL file. Turns out my comodo antivirus has put ALL the compiled DLL files into a hidden containment folder on my hard drive. Trying again now this turned off.
PPS: Got the minimal example to compile but with 180 odd wxDEPRECATE warnings. I also had to put the wxmsw30u_gcc_custom.dll file into the project directory. Is there an easy way to get rid of the DEPRECATE messages?
sodev:
There is no need to copy anything into the output directories, you just have to create them. There is also no need to run any other Makefile target than the default one.
Apparently your system paths are screwed, you seem to have multiple MinGW installations present, this can cause even more trouble. Usually its best to have no MinGW installation on the system path but setup a shell with the proper setup script when you need. For building wxWidgets i use slightly modified scripts from https://github.com/rjpcomputing/wxpack, you just have to remove the version tags from the output directories if you want to build CodeBlocks itself, it doesnt work with the tagged directories.
About your deprecation warnings, my crystal ball can't read your console output so i don't know :P
Navigation
[0] Message Index
[*] Previous page
Go to full version