Code::Blocks Forums
User forums => Using Code::Blocks => Topic started by: art1221 on November 12, 2013, 06:16:48 pm
-
I have built wxWidges with this command; There were no errors.
mingw32-make.exe -f makefile.gcc MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=release
When I try to create a wx project, i get this error:
A matching Release configuration cannot be found in the wxWidgets directory you specified. This means that Release target of your project will not build.
Mingw is 4.8.1 and built is for 64bit comp.
The files are there though.
C:\wxMSW-3.0.0\lib\gcc_lib\mswu exists ...
I have selected 2.9, as there is no option for 3.0.0. May that have confused the project wizard ?
(http://wiki.codeblocks.org/images/5/50/Wxs_tut01_003.png)
-
http://forums.codeblocks.org/index.php/topic,18460.0.html
-
oBFusCATed, thanks for the link. I am now using the updated wizard and it does allow to select wxWidgets 3.0.x, but still I have the same problem....
A matching Release configuration cannot be found in the wxWidgets directory you specified. This means that Release target of your project will not build.
-
oBFusCATed, thanks for the link. I am now using the updated wizard and it does allow to select wxWidgets 3.0.x, but still I have the same problem....
Checkmark the check advanced options; what are the advanced options?
They MUST match a wxWidgets that you built to avoid the warning!
Tim S.
-
stahta01, the option checked in the Advanced Options :
GUI mode application both for Target and Release.
If i try still to build a get crash and the message cc1plus.exe stopped working.
May be 64 bits and Mingw 4.8.1 and wxWidgets 3.0.0 is a bad combination and I should use a different compiler to build wxWidgets 3.0.0 ?
-
stahta01, the option checked in the Advanced Options :
GUI mode application both for Target and Release.
If i try still to build a get crash and the message cc1plus.exe stopped working.
May be 64 bits and Mingw 4.8.1 and wxWidgets 3.0.0 is a bad combination and I should use a different compiler to build wxWidgets 3.0.0 ?
Mingw 4.8.1 and wxWidgets 3.0.0 has problems related to the wx/wxprec.h and wx/wx.h includes.
I never figured out exactly which headers are the cause.
I gave up; I just do NOT use either wx/wxprec.h and wx/wx.h and precompiled headers when using Mingw 4.8.1.
The wxWidgets folks blame it on the MinGW folks; I have no idea which is the cause of the issue.
(I would bet the real solution lies in fixing the MinGW GCC)
FYI: Those where NOT the options I meant to suggest checking(My Memory was faulty); Check the wxWidgets Library Settings
wxWidgets DLL
Monolib
Unicode
And, what is the debug settings in advanced settings. (__WXDEBUG__)
Tim S.
-
in
C:\wxWidgets3.0.0\lib\gcc_dll\mswu\build.cfg
WXVER_MAJOR=3
WXVER_MINOR=0
WXVER_RELEASE=0
BUILD=release
MONOLITHIC=1
SHARED=1
UNICODE=1
TOOLKIT=MSW
TOOLKIT_VERSION=
WXUNIV=0
CFG=
VENDOR=custom
OFFICIAL_BUILD=0
DEBUG_FLAG=1
DEBUG_INFO=default
RUNTIME_LIBS=dynamic
MSLU=0
USE_EXCEPTIONS=1
USE_RTTI=1
USE_THREADS=1
USE_AUI=1
USE_GUI=1
USE_HTML=1
USE_MEDIA=1
USE_OPENGL=1
USE_QA=0
USE_PROPGRID=1
USE_RIBBON=1
USE_RICHTEXT=1
USE_STC=1
USE_WEBVIEW=1
USE_XRC=1
COMPILER=gcc
COMPILER_VERSION=
CC=gcc
CXX=g++
CFLAGS=
CPPFLAGS=
CXXFLAGS=
LDFLAGS=
So build is as has been setup on the command line. i.e MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release
I still have the same error. BTW i use Release mode, and in Advanced options DEBUG is unchecked by default, I have not changed anything in Advanced options.
May be my settings inside Code::Block are not correct? They are:
Compiler
C:\wxWidgets3.0.0\include
C:\wxWidgets3.0.0\lib\gcc_dll\mswu
Linker
C:\wxWidgets3.0.0\lib\gcc_dll
Resource Compiler
C:\wxWidgets3.0.0\include
C:\wxWidgets3.0.0\lib\gcc_dll\mswu
-
Post the full Compiler Rebuild log.
http://wiki.codeblocks.org/index.php?title=FAQ-Compiling_%28errors%29#Q:_How_do_I_troubleshoot_a_compiler_problem.3F (http://wiki.codeblocks.org/index.php?title=FAQ-Compiling_%28errors%29#Q:_How_do_I_troubleshoot_a_compiler_problem.3F)
mingw32-make.exe -f makefile.gcc MONOLITHIC=1 SHARED=0 UNICODE=1 BUILD=release
Did you or did you NOT build a static wxWidgets lib as you stated in the OP?
Tim S.
-
stahta01, my last build of wxWidgets was
mingw32-make.exe -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release TARGET_CPU=X64
yes, a switched to dynamic libs and also added explicit option for 64 bits.
I will try to look into build log, as you have suggested....
Here is the log:
windres.exe -IC:\wxWidgets3.0.0\include -IC:\wxWidgets3.0.0\lib\gcc_dll\mswu -IC:\wxWidgets3.0.0\include -IC:\wxWidgets3.0.0\lib\gcc_dll\mswu -J rc -O coff -i C:\_C__~1\PROJECTS\wx33\resource.rc -o obj\Release\resource.res
x86_64-w64-mingw32-g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Wno-attributes -Wall -O2 -w -m64 -IC:\wxWidgets3.0.0\include -IC:\wxWidgets3.0.0\lib\gcc_dll\mswu -IC:\CodeBlocks\MinGW\include -IC:\CodeBlocks\MinGW\x86_64-w64-mingw32\include -IC:\CodeBlocks\MinGW\lib\gcc\x86_64-w64-mingw32\4.8.1\include -IC:\wxWidgets3.0.0\include -IC:\wxWidgets3.0.0\lib\gcc_dll\mswu -c C:\_C++\PROJECTS\wx33\wx33App.cpp -o obj\Release\wx33App.o
x86_64-w64-mingw32-g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Wno-attributes -Wall -O2 -w -m64 -IC:\wxWidgets3.0.0\include -IC:\wxWidgets3.0.0\lib\gcc_dll\mswu -IC:\CodeBlocks\MinGW\include -IC:\CodeBlocks\MinGW\x86_64-w64-mingw32\include -IC:\CodeBlocks\MinGW\lib\gcc\x86_64-w64-mingw32\4.8.1\include -IC:\wxWidgets3.0.0\include -IC:\wxWidgets3.0.0\lib\gcc_dll\mswu -c C:\_C++\PROJECTS\wx33\wx33Main.cpp -o obj\Release\wx33Main.o
x86_64-w64-mingw32-g++.exe -LC:\wxWidgets3.0.0\lib\gcc_dll -LC:\CodeBlocks\MinGW\lib -LC:\CodeBlocks\MinGW\x86_64-w64-mingw32\lib -LC:\wxWidgets3.0.0\lib\gcc_dll -o bin\Release\wx33.exe obj\Release\wx33App.o obj\Release\wx33Main.o obj\Release\resource.res -s -mthreads -lwxmsw30u -mwindows
c:/codeblocks/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8.1/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxmsw30u
collect2.exe: error: ld returned 1 exit status
I have searched wxWidgets and found these files:
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_aui.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_core.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_gl.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_html.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_media.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_propgrid.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_ribbon.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_richtext.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_stc.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_webview.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_xrc.a
-
I have searched wxWidgets and found these files:
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_aui.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_core.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_gl.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_html.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_media.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_propgrid.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_ribbon.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_richtext.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_stc.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_webview.a
C:\wxWidgets3.0.0\lib\gcc_lib\libwxmsw30ud_xrc.a
Those mean you built the Multilib instead of the Monolib version of wxWidgets.
You have to tell Code::Blocks the truth!!
This "gcc_lib" means you built the static version of wxWidgets!
Please confirm you built wxWidgets correctly!!
Does this folder "C:\wxWidgets3.0.0\lib\gcc_dll" exist?
If yes, what is in it?
Edit2: Read this link http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef (http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef)
Tim S.
-
Tim, looks like clean did not worked well for me. So I have created a mess by either skipping clean and using other options, or I can blame clean... :)
So, I have deleted wxWidgets, downloaded a new one and in a processed of building it, on my machine it is 30 min or so ....
wxWidgets is being built with:
mingw32-make -f makefile.gcc MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release TARGET_CPU=X64 CXXFLAGS="-std=gnu++11"
btw, building wxW.. with Mingw I have had first to fix filectrlg.cpp,
../../src/generic/filectrlg.cpp:235:35: error: 'S_IFDIR' was not declared in this scope
m_type |= (buff.st_mode & S_IFDIR) != 0 ? is_dir : 0;
Fix #define S_IFDIR 0040000 /* Directory */
UPDATE: problem solved! wxWidets 3.0.0 now compiles without problems! thank you for the help.
-
I have found that monolibs and multilibs must be built in separate wxWidgets lib config (CFG) folders.
Once you build one of them switching requires a lot of hand deletes to fix the issue; clean is never enough from my experience.
Tim S.