User forums > General (but related to Code::Blocks)
Code::Blocks v.16.01 (gcc492) + wxWidgets v.3.1.0 (gcc510TDM)
Alex-Rus:
SUBJ: Code::Blocks v.16.01 (gcc492) + wxWidgets v.3.1.0 (gcc510TDM)
Hi!
sorry if lamed
my first experiment with wxWidgets ( and second with CB ;) )
so, in order:
1.
all of wxWidgets-3.1.0.7z (included wxWidgets-3.1.0-headers.7z, of course) and wxMSW-3.1.0_gcc510TDM_Dev.7z (included wxMSW-3.1.0_gcc510TDM_ReleaseDLL.7z, of course) extracted (D:\DEVELOPE\wxWidgets) and copied (NTFS-link) to CB-dir (for sure)
config CB:
Environment settings -> HeaderFixup
(in file default.conf) created copy of wxWidgets_2_8_8 like wxWidgets_3_1_0 (by text-editor)
Q:
Need the wxWidgets_3_1_0 (copy wxWidgets_2_8_8 in default.conf) any correction ???
2.
created new project (just sample):
checked wxWidgets 3.0.x (later vers not included in these options)
…
GUI Builder: wxSmith
AppType: Dialog Based
location: D:\DEVELOPE\wxWidgets
libs set: +use wxWidgets DLL
+Unicode
Global Variable Editor:
default
wx
base: D:\DEVELOPE\wxWidgets
lib: D:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll
… no more
got 2 warnings (matching Debug\Release conf can't be found in wxWidgets dir)
3.
Project -> options -> build -> linker [edit for Debug(of course, with d, like below)\Release]:
libwxmsw30ud_core.a - libwxmsw31ud_core.a
libwxbase30ud.a - libwxbase31ud.a
libwxpngd.a
libwxzlibd.a
Q:
Where can I config these build\linker (text "libwxmsw30ud_core.a" in AppData\codeblocks\ and CodeBlocks-dir exactly not founded) pred (for future), m/b need create some script ???
4.
Project -> options -> build -> linker (search dirs: comp,linker,res - for Debug\Release):
D:\DEVELOPE\wxWidgets\lib\gcc_dll\mswud
+ d:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll
NB: all sources (_dialog.wxs included) NOT changed (Welcom…) — just try (as a demo)
…and off all my Compiler Flags (added to conf by defaul in past)
try to build & run:
--- Code: ---||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===|
D:\DEVELOPE\wxWidgets\include\wx\platform.h|136|fatal error: wx/setup.h: No such file or directory|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
--- End code ---
platform.h:
--- Code: ---/*
Include wx/setup.h for the Unix platform defines generated by configure and
the library compilation options
Note that it must be included before defining hardware symbols below as they
could be already defined by configure but it must be included after defining
the compiler macros above as msvc/wx/setup.h relies on them under Windows.
*/
#include "wx/setup.h"
--- End code ---
So, try platform.h:
--- Code: ---//#include "wx/setup.h"
#include "wx/msw/setup.h"
--- End code ---
Build log:
--- Code: ----------------- Build: Debug in 1 (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Wall -g -D__WXDEBUG__ -ID:\DEVELOPE\wxWidgets\include -ID:\DEVELOPE\wxWidgets\lib\gcc_dll\mswud -Id:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll -c d:\DEVELOPE\CodeBlocks\1\_App.cpp -o obj\Debug\_App.o
mingw32-g++.exe -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -Wall -g -D__WXDEBUG__ -ID:\DEVELOPE\wxWidgets\include -ID:\DEVELOPE\wxWidgets\lib\gcc_dll\mswud -Id:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll -c d:\DEVELOPE\CodeBlocks\1\_Main.cpp -o obj\Debug\_Main.o
windres.exe -ID:\DEVELOPE\wxWidgets\include -ID:\DEVELOPE\wxWidgets\lib\gcc_dll\mswud -Id:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll -J rc -O coff -i d:\DEVELOPE\CODEBL~1\1\resource.rc -o obj\Debug\resource.res
mingw32-g++.exe -LD:\DEVELOPE\wxWidgets\lib\gcc_dll -Ld:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll -o bin\Debug\1.exe obj\Debug\_App.o obj\Debug\_Main.o obj\Debug\resource.res -mthreads -lwxmsw31ud_core -lwxbase31ud -lwxpngd -lwxzlibd -mwindows
Output file is bin\Debug\1.exe with size 1.40 MB
Process terminated with status 0 (0 minute(s), 19 second(s))
0 error(s), 0 warning(s) (0 minute(s), 19 second(s))
-------------- Run: Debug in 1 (compiler: GNU GCC Compiler)---------------
Checking for existence: d:\DEVELOPE\CodeBlocks\1\bin\Debug\1.exe
Executing: "d:\DEVELOPE\CodeBlocks\1\bin\Debug\1.exe" (in d:\DEVELOPE\CodeBlocks\1\.)
Process terminated with status -1073741819 (0 minute(s), 0 second(s))
--- End code ---
5.
try: Debug\1.exe can't start (*.dll not found)
now copy (NTFS-link) wxbase310ud_gcc510TDM.dll & wxmsw310ud_core_gcc510TDM.dll
to bin\Debug\
…useless (terminated with status -1073741819)
6.
start debugger with modificate (insignificant) code
got "SIGSEGV, Segmentation fault":
--- Code: ---Active debugger config: GDB/CDB debugger:Default
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: d:\DEVELOPE\CodeBlocks\1\
Adding source dir: d:\DEVELOPE\CodeBlocks\1\
Adding file: d:\DEVELOPE\CodeBlocks\1\bin\Debug\1.exe
Changing directory to: d:/DEVELOPE/CodeBlocks/1/.
Set variable: PATH=.;D:\DEVELOPE\wxWidgets\lib\gcc_dll;d:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll;d:\DEVELOPE\CodeBlocks\MinGW\bin;d:\DEVELOPE\CodeBlocks\MinGW;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;D:\AutoDesk\Maya8.5\bin;C:\Program Files\FreeArc\PowerPack\bin;C:\Program Files\Universal Extractor;C:\Program Files\Universal Extractor\bin;C:\Program Files\QuickTime\QTSystem;C:\Program Files\Common Files\iZotope\Runtimes;C:\Program Files\Skype\Phone;d:\GameS\Valve\SSDK\Ultimate SSDK v2\Source Engine 2009\ep2\..\bin;C:\Program Files\FreeArc\bin
Starting debugger: d:\DEVELOPE\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname -quiet -args d:/DEVELOPE/CodeBlocks/1/bin/Debug/1.exe
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Debugger name and version: GNU gdb (GDB) 7.6.1
Child process PID: 3840
Program received signal SIGSEGV, Segmentation fault.
In ntdll!RtlSetUserValueHeap () (C:\WINDOWS\system32\ntdll.dll)
110 ../../src/common/appcmn.cpp: No such file or directory.
#15 0x006f1388 in wxAppBase::Initialize (this=0x663bcf8, argcOrig=@0xb1c55c: 1, argvOrig=0x6629310) at ../../src/common/appcmn.cpp:110
Program received signal SIGSEGV, Segmentation fault.
In ntdll!RtlSetUserValueHeap () (C:\WINDOWS\system32\ntdll.dll)
Error accessing memory address 0x64: Input/output error.
In ()
Error accessing memory address 0x64: Input/output error.
In ()
Error accessing memory address 0x64: Input/output error.
In ()
Error accessing memory address 0x64: Input/output error.
In ()
Error accessing memory address 0x64: Input/output error.
In ()
[...]
Debugger finished with status 0
--- End code ---
7.
from tdm-gcc-5.1.0-3.exe - to CB (into MinGW): bin,include,lib,libexec,share ("update" gcc from 4.9.2 to 5.1.0)
check "update" with my C console little sample — Debug\Release (w/o change settings) compiled with 5.1.0 (sizes of exe equal 4.9.2) — OK
with wxMSW-3.1.0_gcc510TDM_Dev not helped (terminated with status -1073741819)
QQ:
Why "Process terminated with status -1073741819" (debugger not helped) ???
What I do wrong exactly ???
May be I need to add/change some code (done in project, but useless too) ???
As I see, wxWidgets v.3.1.0 for gcc 5.1.0 (wxMSW-3.1.0_gcc492TDM_Dev.7z not loaded\checked for now) total incompatible with gcc 4.9.2 in CB 16.01 ???
So (if it is) how TDM-GCC-32 complect (extracted tdm-gcc-5.1.0-3.exe) set to CB 16.01 right (just copy over bin,include,lib,libexec will be enough or need some reconfig,etc) ???
Or m/b all incompatible with my old WXP32b ??? :o :-\
How correct use/recompile sources (wxWidgets-3.1.0.7z) under CB 16.01 with gcc 4.9.2\5.1.0 (and reconfig CB) for project w/o "terminated" errors and these large *.dll (static-link, includs resourses owns and needed functions only, of course) ??? +add2FAQ(if it exist&feasible)
BlueHazzard:
Didn't read all, and also didn't understand all but as far as i get your problem:
--- Quote ---NB: all sources (_dialog.wxs included) NOT changed (Welcom…) — just try (as a demo)
…and off all my Compiler Flags (added to conf by defaul in past)
try to build & run:
Code:
||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===|
D:\DEVELOPE\wxWidgets\include\wx\platform.h|136|fatal error: wx/setup.h: No such file or directory|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|
platform.h:
Code:
/*
Include wx/setup.h for the Unix platform defines generated by configure and
the library compilation options
Note that it must be included before defining hardware symbols below as they
could be already defined by configure but it must be included after defining
the compiler macros above as msvc/wx/setup.h relies on them under Windows.
*/
#include "wx/setup.h"
So, try platform.h:
Code:
//#include "wx/setup.h"
#include "wx/msw/setup.h"
--- End quote ---
The setup.h is found in the library folder of the wxWidgets installation, so you have to add this folder to your compiler search paths. But you fixed this problem anyway (just not as elegant ;) )
--- Quote --- As I see, wxWidgets v.3.1.0 for gcc 5.1.0 (wxMSW-3.1.0_gcc492TDM_Dev.7z not loaded\checked for now) total incompatible with gcc 4.9.2 in CB 16.01 ???
So (if it is) how TDM-GCC-32 complect (extracted tdm-gcc-5.1.0-3.exe) set to CB 16.01 right (just copy over bin,include,lib,libexec will be enough or need some reconfig,etc) ???
Or m/b all incompatible with my old WXP32b ??? :o :-\
--- End quote ---
If you want to use a pre build wxWidgets you have to check that you are using the EXACT SAME compiler [EDIT: Note: also the exception handling has to be the same]... This is a problem of c++... If you know the exact compiler version and installed this version and fixed the binaries in the codeblocks settings (Settings->Compiler->Toolchain executables) you have to REBUILD your project. Build->Clean and Build->Build . Simply hitting Build wont work, because c::b does not know that you have changed the compiler...
greetings
Alex-Rus:
--- Quote ---The setup.h is found in the library folder of the wxWidgets installation, so you have to add this folder to your compiler search paths. But you fixed this problem anyway (just not as elegant ;) )
--- End quote ---
In Global Variable Editor?
Where exactly?
in begin was set by "wizard" (creating project):
--- Quote --- default
wx
base: D:\DEVELOPE\wxWidgets
lib: D:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll
--- End quote ---
but now I did checked "Settings->Global variables…" and not founded "wx" at all (in "Current variables")
of course, rebuild not helped (final: "Process terminated with status -1073741819") :(
Ctrl+F11 Rebuild log (10wrngs in wx\window.h):
--- Code: ---||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===|
D:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_Main.cpp|101|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_Main.cpp|101|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_Main.cpp|101|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_Main.cpp|101|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_Main.cpp|101|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
D:\DEVELOPE\CodeBlocks\1\_Main.cpp|101|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
||=== Build finished: 0 error(s), 10 warning(s) (0 minute(s), 16 second(s)) ===|
--- End code ---
So, real need wx\msw\ place to path ( where in project now? where in global CB setting for future? )
F9 Build&run log:
--- Code: ---
-------------- Build: Debug in 1 (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -LD:\DEVELOPE\wxWidgets\lib\gcc_dll -Ld:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll -o bin\Debug\1.exe obj\Debug\_App.o obj\Debug\_Main.o obj\Debug\resource.res -mthreads -lwxmsw31ud_core -lwxbase31ud -lwxpngd -lwxzlibd -mwindows
Output file is bin\Debug\1.exe with size 2.04 MB
Process terminated with status 0 (0 minute(s), 4 second(s))
0 error(s), 0 warning(s) (0 minute(s), 4 second(s))
-------------- Run: Debug in 1 (compiler: GNU GCC Compiler)---------------
Checking for existence: d:\DEVELOPE\CodeBlocks\1\bin\Debug\1.exe
Executing: "d:\DEVELOPE\CodeBlocks\1\bin\Debug\1.exe" (in d:\DEVELOPE\CodeBlocks\1\.)
Process terminated with status -1073741819 (0 minute(s), 0 second(s))
--- End code ---
any more ideas? :o
Q:
So, m/b incompatible with system (OS,libs,compiler,etc — like mthreads)? ( uptimes WXP ~ weeks\months; W7 ~ hours\days — so, will check later under W7 )
Alex-Rus:
try (see #4):
--- Code: ---Project -> options -> build -> linker (search dirs: comp,linker,res - for Debug\Release):
D:\DEVELOPE\wxWidgets\lib\gcc_dll\mswud
was+ d:\DEVELOPE\wxWidgets\lib\gcc510TDM_dll
now+ d:\DEVELOPE\wxWidgets\include\wx\msw\
or(NTFS-link)+ d:\DEVELOPE\CodeBlocks\MinGW\include\wx\msw\
--- End code ---
Ctrl+F11 Rebuild log:
--- Code: ---||=== Build: Debug in 1 (compiler: GNU GCC Compiler) ===|
d:\DEVELOPE\wxWidgets\include\wx\msw\dde.h|93|error: 'wxDDEConnectionList' does not name a type|
d:\DEVELOPE\wxWidgets\include\wx\msw\dde.h|99|error: 'wxDDEConnectionList' does not name a type|
d:\DEVELOPE\wxWidgets\include\wx\msw\dde.h|124|error: 'wxDDEConnectionList' does not name a type|
d:\DEVELOPE\wxWidgets\include\wx\msw\dde.h|129|error: 'wxDDEConnectionList' does not name a type|
d:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
d:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
d:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
d:\DEVELOPE\CodeBlocks\1\_App.cpp|34|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
D:\DEVELOPE\wxWidgets\include\wx\window.h|1917|note: declared here|
||=== Build failed: 4 error(s), 4 warning(s) (0 minute(s), 19 second(s)) ===|
--- End code ---
not helped comeback "platform.h" to def (see #4)
PFM WTF?! >:(
BlueHazzard:
honestly i don't get what you are doing...
but lets try to go trought this step by step:
--- Quote --- Code::Blocks v.16.01 (gcc492) + wxWidgets v.3.1.0 (gcc510TDM)
--- End quote ---
this won't work... You need exactly the same version of the compiler for wxWidgets and your program...
So if you are using the compiler provided by the codeblocks installation this will not work... This leads to errors like
--- Quote ---Process terminated with status -1073741819 (0 minute(s), 0 second(s))
--- End quote ---
So you have to install gcc510TDM and set codeblocks up, that it is using this compiler
For this install the compiler in something without spaces like c:\mingw32_TDM_51
Then go to codeblocks
Settings->Compiler->Compiler Settings
Select "GNU GCC Compiler" from the drop down menu and hit "copy". Enter a new name, something like "TDM-GCC-51". Hit ok.
Go to "Toolchain executables" tab and select your tdm installation path in the "compiler installations path" filde (ex. c:\mingw32_TDM_51)
Make sure that all executable names are correct...
Hit OK...
Open your project.
Project->Build options
Select your newly created compiler from the dropdown menu "selected compiler". Hit "Yes" and "Yes" and "OK"
Close the dialog and make a rebuild (or clean and build)
Now to set up wxWidgets: I assume that the wizard does not work with wxWidgets version higher than 3.0.x ... Someone will fix this in the future
under Settings->global variables
create a variable with the name "wx" and set the "base" to the base path of your wxWidgets installation. (This is not a process done by the wizard. You have to do this by your own)
Now go to
Project-> Build options->search directories->compiler
--- Code: ---$(#wx.include)
$(#wx.lib)\gcc_dllWX_CFG\mswWX_SUFFIX
--- End code ---
replace WX_CFG and WX_SUFFIX with the corresponding names of your widgets installation (probably WX_CFG=u and WX_SUFFIX=30 )
Project-> Build options->search directories->linker
--- Code: ---$(#wx.lib)\gcc_dllWX_CFG
--- End code ---
replace WX_CFG with the corresponding names of your widgets installation (probably WX_CFG=u)
Project-> Build options->search directories->resource compiler (i don't know if this is necessary)
--- Code: ---$(#wx.include)
$(#wx.lib)\gcc_dllWX_CFG\mswWX_SUFFIX
--- End code ---
replace WX_CFG and WX_SUFFIX with the corresponding names of your widgets installation (probably WX_CFG=u and WX_SUFFIX=30 )
Project-> Build options->linker
--- Code: ---wxmsw$(WX_VERSION)$(WX_SUFFIX)
--- End code ---
replace WX_CFG and WX_SUFFIX with the corresponding names of your widgets installation (probably WX_CFG=u and WX_SUFFIX=30 )
This should do the trick. If you have problems please post a full rebuild log (like you always did. thx for that ;) )...
greetings
Navigation
[0] Message Index
[#] Next page
Go to full version