Code::Blocks Forums

User forums => Help => Topic started by: tomay3000 on July 18, 2018, 07:21:33 pm

Title: How to compile C::B when wxWidgets is STL enabled?
Post by: tomay3000 on July 18, 2018, 07:21:33 pm
Hello,
I have successfully compiled wxWidgets v3.1.1 with stl enabled using this command:
Code
cd wxWidgets

mkdir gtk2-build

cd gtk2-build

../configure --enable-unicode --enable-debug --with-gtk=2 --enable-mediactrl --with-opengl --enable-stl --with-regex --with-libmspack --with-sdl --enable-cxx11

make

sudo make install

But when I try to compile C::B for this wxWidgets configuration (stl is enabled) I get this error message:
Code
Making all in src
make[1]: Entering directory '/home/tomay/devel/CodeBlocks/trunk/src'
Making all in include
make[2]: Entering directory '/home/tomay/devel/CodeBlocks/trunk/src/include'
rm -f sdk_precomp.h.gch
g++ -DHAVE_CONFIG_H  -I/usr/local/lib/wx/include/gtk2-unicode-3.1 -I/usr/local/include/wx-3.1 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I../../src/include -I../../src/include -I../../src/sdk/wxscintilla/include -I../../src/include/scripting/sqplus -I../../src/include/mozilla_chardet -I../../src/include/mozilla_chardet/mfbt -I../../src/include/mozilla_chardet/nsprpub/pr/include -I../../src/include/mozilla_chardet/xpcom -I../../src/include/mozilla_chardet/xpcom/base -I../../src/include/mozilla_chardet/xpcom/glue -DCB_AUTOCONF  -DCB_PRECOMP -DPIC -I../../src/include/tinyxml -DTIXML_USE_STL=YES  -O2 -ffast-math  -Winvalid-pch -fPIC -fexceptions -std=c++11 -Winvalid-pch -fPIC -fexceptions -o sdk_precomp.h.gch -xc++-header ./sdk_precomp.h
In file included from ./sdk_common.h:144:0,
                 from ./sdk_precomp.h:13:
./toolsmanager.h:46:32: error: ‘ToolsList::Node’ has not been declared
   void DoRemoveTool(ToolsList::Node* node);
                                ^~~~
Makefile:1005: recipe for target 'sdk_precomp.h.gch' failed
make[2]: *** [sdk_precomp.h.gch] Error 1
make[2]: Leaving directory '/home/tomay/devel/CodeBlocks/trunk/src/include'
Makefile:543: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/tomay/devel/CodeBlocks/trunk/src'
Makefile:676: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

is it possible to compile C::B with wxWidgets STL enabled? if so, gime the ./configure command line.

Thank you.
Title: Re: How to compile C::B when wxWidgets is STL enabled?
Post by: oBFusCATed on July 18, 2018, 08:41:50 pm
No, it is not possible. At least it is not possible to compile wxSmith.
I think I've fixed all other problems.
What version are you trying to compile?
Title: Re: How to compile C::B when wxWidgets is STL enabled?
Post by: tomay3000 on July 18, 2018, 09:34:46 pm
I think I've fixed all other problems.
What problems ?

What version are you trying to compile?
SVN 11428.
Title: Re: How to compile C::B when wxWidgets is STL enabled?
Post by: oBFusCATed on July 18, 2018, 09:42:30 pm
The wx-stl and wx-non-stl provide different apis. We use the non-stl apis in quite a lot places.
Once I've tried to track and fix most of the places which use these apis.
And I think I've made all non-contrib code to compile, but I might be remembering wrongly.

This is not an often tested combination. If you're not interested in fixing those problems I suggest using wx-non-stl.

edit: It seems that I've not pushed the fixes in trunk...
Title: Re: How to compile C::B when wxWidgets is STL enabled?
Post by: tomay3000 on July 19, 2018, 12:00:05 am
The wx-stl and wx-non-stl provide different apis. We use the non-stl apis in quite a lot places.
Once I've tried to track and fix most of the places which use these apis.
And I think I've made all non-contrib code to compile, but I might be remembering wrongly.

This is not an often tested combination. If you're not interested in fixing those problems I suggest using wx-non-stl.

edit: It seems that I've not pushed the fixes in trunk...

OK I will recompile wx with no stl then.
thank you.