New Stable Major wxWidgets 3.0.0 Release
2013-11-11
The final version of wxWidgets 3.0, the first new stable wxWidgets release in years and the first new major release since 1998, is now available. Please download the sources and binaries for the selected Windows compilers (Microsoft Visual C++ and MinGW-TDM) from SourceForge or our FTP mirror. As usual, the release files contain the sources and the documentation for the library in Unix (.tar.bz2) and Windows (.zip or .7z, with the latter being significantly smaller) formats. Notice that the documentation is also available online.
3.0 release is a culmination of several years of work since 2.8 and so brings many important improvements compared to the old stable series, such as much better and simpler to use support for Unicode, the new wxOSX/Cocoa port, suitable for development of 64 bit GUI applications under OS X, and support for GTK+ 3 in wxGTK port, as well as a huge number of other new features and bug fixes which are too numerous to be listed here, so please refer to the change log for the full list. And if you're upgrading from a previous version, please pay special attention to the "incompatible changes" section of this file and the changes chapter of the manual for even more details.
We hope you will enjoy using the latest and greatest version of wxWidgets! And if not, there is always the possibility to report bugs in it on our bug tracker. Have fun and good luck!
(Do we yet have a recommended set of configure flags when building wx30 to build Code::Blocks against?)We don't recommend it, building C::B against wx30 is only for people who like to port C::B to wx30...
At the very least, the wxWidgets project wizard should be updated.There is a patch provided here: http://forums.codeblocks.org/index.php/topic,18460.0.html
Well, working on porting was my intent.(Do we yet have a recommended set of configure flags when building wx30 to build Code::Blocks against?)We don't recommend it, building C::B against wx30 is only for people who like to port C::B to wx30...
That's the default in all distros I know.Well, working on porting was my intent.(Do we yet have a recommended set of configure flags when building wx30 to build Code::Blocks against?)We don't recommend it, building C::B against wx30 is only for people who like to port C::B to wx30...
(From what I can tell Code::Blocks expects wxWidgets to be multi-lib under Linux.)
(From what I can tell Code::Blocks expects wxWidgets to be multi-lib under Linux.)On linux I don't think we depend much on multilib vs monolithic, because wx-config should handle the differences for us.
Is Compiling wxWidgets 2.9.0 to develop Code::Blocks (MSW) - CodeBlocks still the guide?
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport" >log.txt 2>&1
Can I assume that wxSmith+wx3.0 will be working well?Of course you can't. We're not advertising it as such. Test it on your dialogs and report problems if you encounter any.
Can I assume that wxSmith+wx3.0 will be working well?Of course you can't. We're not advertising it as such. Test it on your dialogs and report problems if you encounter any.
Renaming a page on the wiki is done by 'moving' it to the desired new title (I believe).Yes, I did that already, you can see the updated wiki page now.
mingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport"
mingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=cb
the wiki says :Codemingw32-make -f makefile.gcc USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 USE_OPENGL=1 VENDOR=cb CXXFLAGS="-fno-keep-inline-dllexport"
I have tried last weekend like this :Codemingw32-make -f makefile.gcc SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=cb
So I did not use : USE_XRC=1 , USE_OPENGL=1, CXXFLAGS="-fno-keep-inline-dllexport"
I am able to build all, but I suffer crashes. (32 bit and 64 bit). CB crashes at startup
SET PATH=C:\GreenApps\MinGW_GCC4_8x_SJLJ_TDM\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
Started with these folders deleted
src/.objs30
src/devel30
src/output30
Build CB wx30 Project and Contrib wx30 Workspace.
Copy wxmsw30u_gcc_cb.dll to src/devel30
Run update30.bat
Crashes. The keyboard shortcuts doesn't work, probably more problems will show up when these are fixed, but I can find the motivation to dig in to the changes that have happened in wxpropgrid integrated in wx3. wxSmith is probably affected, too.
Index: src/CodeBlocks_wx30.cbp
===================================================================
--- src/CodeBlocks_wx30.cbp (revision 9532)
+++ src/CodeBlocks_wx30.cbp (working copy)
@@ -166,7 +166,6 @@
<Add library="gdi32" />
<Add directory="devel30" />
<Add directory="sdk/scripting/lib" />
- <Add directory="sdk/propgrid" />
</Linker>
<ExtraCommands>
<Add before="build_tools/autorevision/autorevision30 +wx +int +t . include/autorevision.h" />
Index: src/CodeBlocks_wx30_64.cbp
===================================================================
--- src/CodeBlocks_wx30_64.cbp (revision 9532)
+++ src/CodeBlocks_wx30_64.cbp (working copy)
@@ -166,7 +166,6 @@
<Add library="gdi32" />
<Add directory="devel30_64" />
<Add directory="sdk/scripting/lib" />
- <Add directory="sdk/propgrid" />
</Linker>
<ExtraCommands>
<Add before="build_tools/autorevision/autorevision30_64 +wx +int +t . include/autorevision.h" />
#0 0x7ffff1f3b613 select() (/lib64/libc.so.6:??)
#1 0x7ffff37853c0 wxSelectSets::Select(this=0x7fffffff8750, nfds=18, tv=0x0) (./src/common/selectdispatcher.cpp:109)
#2 0x7ffff3786021 wxSelectDispatcher::DoSelect(this=0x7fffffff8a10, sets=..., timeout=-1) (./src/common/selectdispatcher.cpp:230)
#3 0x7ffff378610c wxSelectDispatcher::Dispatch(this=0x7fffffff8a10, timeout=-1) (./src/common/selectdispatcher.cpp:249)
#4 0x7ffff379d0ad (anonymous namespace)::BlockUntilChildExit(execData=...) (./src/unix/utilsunx.cpp:554)
#5 0x7ffff379e297 wxExecute(argv=0x15312b0, flags=17, process=0x121cd50, env=0x0) (./src/unix/utilsunx.cpp:853)
#6 0x7ffff379ce30 wxExecute(command=..., flags=17, process=0x121cd50, env=0x0) (./src/unix/utilsunx.cpp:475)
#7 0x7ffff37b8488 wxDoExecuteWithCapture(command=..., output=..., error=0x0, flags=17, env=0x0) (./src/common/utilscmn.cpp:679)
#8 0x7ffff37b8562 wxExecute(command=..., output=..., flags=17, env=0x0) (./src/common/utilscmn.cpp:706)
#9 0x7ffff2f99e8f Compiler::EvalXMLCondition(this=0x157b470, node=0x1581620) (/home/obfuscated/projects/codeblocks/git/src/sdk/compiler.cpp:1209)
#10 0x7ffff2f951e7 Compiler::LoadDefaultOptions(this=0x157b470, name=..., recursion=1) (/home/obfuscated/projects/codeblocks/git/src/sdk/compiler.cpp:828)
#11 0x7ffff2f970f6 Compiler::LoadDefaultOptions(this=0x157b470, name=..., recursion=0) (/home/obfuscated/projects/codeblocks/git/src/sdk/compiler.cpp:1036)
#12 0x7ffff2f8c65c Compiler::Reset(this=0x157b470) (/home/obfuscated/projects/codeblocks/git/src/sdk/compiler.cpp:161)
#13 0x7fffe01d5fb6 CompilerMINGW::CompilerMINGW(this=0x157b470, name=..., ID=...) (/home/obfuscated/projects/codeblocks/git/src/plugins/compilergcc/compilerMINGW.cpp:35)
#14 0x7fffe01b1665 CompilerGCC::DoRegisterCompilers(this=0x1232560) (/home/obfuscated/projects/codeblocks/git/src/plugins/compilergcc/compilergcc.cpp:851)
#15 0x7fffe01ad260 CompilerGCC::OnAttach(this=0x1232560) (/home/obfuscated/projects/codeblocks/git/src/plugins/compilergcc/compilergcc.cpp:360)
#16 0x7ffff2f5ab1a cbPlugin::Attach(this=0x1232560) (/home/obfuscated/projects/codeblocks/git/src/sdk/cbplugin.cpp:71)
#17 0x7ffff3048097 PluginManager::AttachPlugin(this=0x11cfab0, plugin=0x1232560, ignoreSafeMode=false) (/home/obfuscated/projects/codeblocks/git/src/sdk/pluginmanager.cpp:195)
#18 0x7ffff304f045 PluginManager::LoadAllPlugins(this=0x11cfab0) (/home/obfuscated/projects/codeblocks/git/src/sdk/pluginmanager.cpp:1117)
#19 0x4d3cca MainFrame::ScanForPlugins(this=0xa57f60) (/home/obfuscated/projects/codeblocks/git/src/src/main.cpp:1157)
#20 0x4ce6ad MainFrame::MainFrame(this=0xa57f60, parent=0x0) (/home/obfuscated/projects/codeblocks/git/src/src/main.cpp:608)
#21 0x46109a CodeBlocksApp::InitFrame(this=0x8d08a0) (/home/obfuscated/projects/codeblocks/git/src/src/app.cpp:437)
#22 0x4628d3 CodeBlocksApp::OnInit(this=0x8d08a0) (/home/obfuscated/projects/codeblocks/git/src/src/app.cpp:661)
#23 0x46868f wxAppConsoleBase::CallOnInit(this=0x8d08a0) (/home/obfuscated/software/wx/include/wx-3.1/wx/app.h:93)
#24 0x7ffff370c0bd wxEntry(argc=@0x7ffff3a7c130: 8, argv=0x8d04f0) (./src/common/init.cpp:479)
#25 0x7ffff370c1b4 wxEntry(argc=@0x7fffffffde8c: 8, argv=0x7fffffffdf78) (./src/common/init.cpp:507)
#26 0x460aa7 main(argc=8, argv=0x7fffffffdf78) (/home/obfuscated/projects/codeblocks/git/src/src/app.cpp:276)
Another serious problem with wx30 is that wxExecute is even more broken... I can't debug cb from inside cb :(
Every time it stops here, while trying to execute GCC! :(
Try to disable CC, it corrupted something very badly.This problem happens during startup, I doubt it is related to CC...
diff --git a/samples/minimal/minimal.cpp b/samples/minimal/minimal.cpp
index a78e462..dc0709a 100644
--- a/samples/minimal/minimal.cpp
+++ b/samples/minimal/minimal.cpp
@@ -123,6 +123,7 @@ bool MyApp::OnInit()
// few common command-line options but it could be do more in the future
if ( !wxApp::OnInit() )
return false;
+// wxExecute(wxT("gcc -dumpversion"), wxEXEC_SYNC);//|wxEXEC_NOEVENTS);
// create the main application window
MyFrame *frame = new MyFrame("Minimal wxWidgets App");
@@ -197,4 +198,5 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
"About wxWidgets minimal sample",
wxOK | wxICON_INFORMATION,
this);
+ wxExecute(wxT("gcc -dumpversion"), wxEXEC_SYNC);//|wxEXEC_NOEVENTS);
}
Since we are using wx3.0 propgrid; we should NOT have the one in SDK in the search list.That is true... and applied in trunk. Thank you!
I wrote suggestion because under Linux (RH 6.4, wx30, sources from trunk) I had strange behavior of CodeBlocks. I was able to open project and after start compile only the messages from first file was omitted and the CB stops to response. With disabled CC compilation process was OK.Try to disable CC, it corrupted something very badly.This problem happens during startup, I doubt it is related to CC...
Edit: It is not, I've tried with disabled CC.
return BlockUntilChildExit(execData);