I'm trying to compile Code::Blocks rev5883 with wxWidgets SVN trunk rev62482 and I get the following error:
Skuld:macbuild ngompa$ make
Making all in src
Making all in base
Making all in tinyxml
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in build_tools
Making all in autorevision
./auto_revision +int +wx +t ../../../.. ../../../../src/include/autorevision.h
make[3]: Nothing to be done for `all-am'.
Making all in include
make all-recursive
Making all in scripting
Making all in squirrel
make[5]: Nothing to be done for `all'.
Making all in sqstdlib
make[5]: Nothing to be done for `all'.
Making all in sqplus
make[5]: Nothing to be done for `all'.
Making all in bindings
make[5]: Nothing to be done for `all'.
Making all in include
make[5]: Nothing to be done for `all'.
make[5]: Nothing to be done for `all-am'.
Making all in tinyxml
make[4]: Nothing to be done for `all'.
Making all in wxscintilla
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
Making all in mime
make[2]: Nothing to be done for `all'.
Making all in sdk
Making all in scripting
Making all in squirrel
make[4]: Nothing to be done for `all'.
Making all in sqstdlib
make[4]: Nothing to be done for `all'.
Making all in sqplus
make[4]: Nothing to be done for `all'.
Making all in bindings
/bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../../src/sdk/scripting/bindings -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../../../src/include -I../../../../../src/include/wxscintilla/include -I../../../../../src/include/scripting/include -I../../../../../src/include/scripting/bindings -I../../../../../src/include/scripting/sqplus -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -arch i386 -m32 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF .deps/sc_wxtypes.Tpo -c -o sc_wxtypes.lo ../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../../src/sdk/scripting/bindings -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../../../src/include -I../../../../../src/include/wxscintilla/include -I../../../../../src/include/scripting/include -I../../../../../src/include/scripting/bindings -I../../../../../src/include/scripting/sqplus -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -arch i386 -m32 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF .deps/sc_wxtypes.Tpo -c ../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp -fno-common -DPIC -o .libs/sc_wxtypes.o
../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp: In function ‘void ScriptBindings::Register_wxTypes()’:
../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp:270: error: no matching function for call to ‘SqPlus::SQClassDef<wxFileName>::func(<unresolved overloaded function type>, const char [7])’
make[4]: *** [sc_wxtypes.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
My configure commands were identical to what was required on the wiki except it was using CFLAGS="-arch i386 -m32" and --with-osx_cocoa
Before, I did it without the CFLAGS and the same error occurs. I don't really know what's going on here...
Patch from about 2 months ago; I have not had time since then to compile against wx trunk.
Tim S.
Index: src/sdk/scripting/bindings/sc_wxtypes.cpp
===================================================================
--- src/sdk/scripting/bindings/sc_wxtypes.cpp (revision 5651)
+++ src/sdk/scripting/bindings/sc_wxtypes.cpp (working copy)
@@ -229,7 +229,11 @@
typedef void(wxFileName::*WXFN_ASSIGN_FN)(const wxFileName&);
typedef void(wxFileName::*WXFN_ASSIGN_STR)(const wxString&, wxPathFormat);
typedef wxString(wxFileName::*WXFN_GETPATH)(int, wxPathFormat)const;
+ #if wxCHECK_VERSION(2, 9, 1)
+ typedef bool(wxFileName::*WXFN_SETCWD)()const;
+ #else
typedef bool(wxFileName::*WXFN_SETCWD)();
+ #endif
SqPlus::SQClassDef<wxFileName>("wxFileName").
emptyCtor().
That fixed that error!
However, here is the next one:
Skuld:macbuild ngompa$ make
Making all in src
Making all in base
Making all in tinyxml
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in build_tools
Making all in autorevision
./auto_revision +int +wx +t ../../../.. ../../../../src/include/autorevision.h
make[3]: Nothing to be done for `all-am'.
Making all in include
make all-recursive
Making all in scripting
Making all in squirrel
make[5]: Nothing to be done for `all'.
Making all in sqstdlib
make[5]: Nothing to be done for `all'.
Making all in sqplus
make[5]: Nothing to be done for `all'.
Making all in bindings
make[5]: Nothing to be done for `all'.
Making all in include
make[5]: Nothing to be done for `all'.
make[5]: Nothing to be done for `all-am'.
Making all in tinyxml
make[4]: Nothing to be done for `all'.
Making all in wxscintilla
make[4]: Nothing to be done for `all'.
Making all in mime
make[2]: Nothing to be done for `all'.
Making all in sdk
Making all in scripting
Making all in squirrel
make[4]: Nothing to be done for `all'.
Making all in sqstdlib
make[4]: Nothing to be done for `all'.
Making all in sqplus
make[4]: Nothing to be done for `all'.
Making all in bindings
/bin/sh ../../../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../../src/sdk/scripting/bindings -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../../../src/include -I../../../../../src/include/wxscintilla/include -I../../../../../src/include/scripting/include -I../../../../../src/include/scripting/bindings -I../../../../../src/include/scripting/sqplus -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -arch i386 -m32 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF .deps/sc_wxtypes.Tpo -c -o sc_wxtypes.lo ../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../../src/include -I../../../../../src/sdk/scripting/bindings -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../../../src/include -I../../../../../src/include/wxscintilla/include -I../../../../../src/include/scripting/include -I../../../../../src/include/scripting/bindings -I../../../../../src/include/scripting/sqplus -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -arch i386 -m32 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT sc_wxtypes.lo -MD -MP -MF .deps/sc_wxtypes.Tpo -c ../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp -fno-common -DPIC -o .libs/sc_wxtypes.o
../../../../../src/include/scripting/sqplus/sqplus.h: In static member function ‘static SQInteger SqPlus::DirectCallInstanceMemberFunction<Callee, Func>::Dispatch(SQVM*) [with Callee = wxFileName, Func = wxString (*)(const wxString&)]’:
../../../../../src/include/scripting/sqplus/sqplus.h:1313: instantiated from ‘void SqPlus::sq_pushdirectinstanceclosure(SQVM*, const Callee&, Func, SQUnsignedInteger) [with Callee = wxFileName, Func = wxString (*)(const wxString&)]’
../../../../../src/include/scripting/sqplus/sqplus.h:1397: instantiated from ‘void SqPlus::RegisterInstance(SQVM*, HSQOBJECT, Callee&, Func, const SQChar*) [with Callee = wxFileName, Func = wxString (*)(const wxString&)]’
../../../../../src/include/scripting/sqplus/sqplus.h:1751: instantiated from ‘SqPlus::SQClassDef<TClassType>& SqPlus::SQClassDef<TClassType>::func(Func, const SQChar*) [with Func = wxString (*)(const wxString&), TClassType = wxFileName]’
../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp:248: instantiated from here
../../../../../src/include/scripting/sqplus/sqplus.h:1244: error: no matching function for call to ‘Call(wxFileName&, wxString (*&)(const wxString&), SQVM*&, int)’
make[4]: *** [sc_wxtypes.lo] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
Skuld:macbuild ngompa$
I need the line at sc_wxtypes.cpp:248 to look at the cause.
Tim S.
../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp:248: instantiated from here
I need the line at sc_wxtypes.cpp:248 to look at the cause.
Tim S.
../../../../../src/sdk/scripting/bindings/sc_wxtypes.cpp:248: instantiated from here
Here is the line:
func(&wxFileName::GetCwd, "GetCwd").
On my source code that line is commented out.
Tim S.
// func(&wxFileName::GetCwd, "GetCwd").
On my source code that line is commented out.
Tim S.
// func(&wxFileName::GetCwd, "GetCwd").
That worked, and it continued until it encountered this error:
Skuld:macbuild ngompa$ make
Making all in src
Making all in base
Making all in tinyxml
make[3]: Nothing to be done for `all'.
make[3]: Nothing to be done for `all-am'.
Making all in build_tools
Making all in autorevision
./auto_revision +int +wx +t ../../../.. ../../../../src/include/autorevision.h
make[3]: Nothing to be done for `all-am'.
Making all in include
make all-recursive
Making all in scripting
Making all in squirrel
make[5]: Nothing to be done for `all'.
Making all in sqstdlib
make[5]: Nothing to be done for `all'.
Making all in sqplus
make[5]: Nothing to be done for `all'.
Making all in bindings
make[5]: Nothing to be done for `all'.
Making all in include
make[5]: Nothing to be done for `all'.
make[5]: Nothing to be done for `all-am'.
Making all in tinyxml
make[4]: Nothing to be done for `all'.
Making all in wxscintilla
make[4]: Nothing to be done for `all'.
Making all in mime
make[2]: Nothing to be done for `all'.
Making all in sdk
Making all in scripting
Making all in squirrel
make[4]: Nothing to be done for `all'.
Making all in sqstdlib
make[4]: Nothing to be done for `all'.
Making all in sqplus
make[4]: Nothing to be done for `all'.
Making all in bindings
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
Making all in wxscintilla
make[3]: Nothing to be done for `all'.
Making all in resources
Making all in lexers
make[4]: Nothing to be done for `all'.
make[4]: Nothing to be done for `all-am'.
/bin/sh ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../../src/include -I../../../src/sdk -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../src/include -I../../../src/include/wxscintilla/include -I../../../src/include/tinyxml -I../../../src/include/scripting/include -I../../../src/include/scripting/sqplus -I../../../src/include/mozilla_chardet -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -arch i386 -m32 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT configmanager.lo -MD -MP -MF .deps/configmanager.Tpo -c -o configmanager.lo ../../../src/sdk/configmanager.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../src/include -I../../../src/sdk -I/usr/local/lib/wx/include/osx_cocoa-unicode-2.9 -I/usr/local/include/wx-2.9 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXMAC__ -D__WXOSX__ -D__WXOSX_COCOA__ -I../../../src/include -I../../../src/include/wxscintilla/include -I../../../src/include/tinyxml -I../../../src/include/scripting/include -I../../../src/include/scripting/sqplus -I../../../src/include/mozilla_chardet -Ulinux -Uunix -O2 -ffast-math -DCB_AUTOCONF -arch i386 -m32 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -fexceptions -MT configmanager.lo -MD -MP -MF .deps/configmanager.Tpo -c ../../../src/sdk/configmanager.cpp -fno-common -DPIC -o .libs/configmanager.o
../../../src/sdk/configmanager.cpp:39:44: error: wx/mac/corefoundation/cfstring.h: No such file or directory
../../../src/sdk/configmanager.cpp: In function ‘wxString<unnamed>::DetermineResourcesPath()’:
../../../src/sdk/configmanager.cpp:130: error: ‘wxMacCFStringHolder’ was not declared in this scope
make[3]: *** [configmanager.lo] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
Skuld:macbuild ngompa$
I rebuilt wx with carbon instead, and I still see the same error. I looked at the wx source tree, and I noticed three things:
1) wx/mac/ doesn't exist; it is wx/osx/ now.
2) there is no /corefoundation subdirectory
3) cfstring.h exists in wx/osx/core directory
Here is the directory tree of includes...
Skuld:wx ngompa$ ls ./osx
accel.h [core] font.h msgdlg.h spinbutt.h
app.h cursor.h fontdlg.h nonownedwnd.h spinctrl.h
bitmap.h dataform.h frame.h notebook.h srchctrl.h
bmpbuttn.h dataobj.h gauge.h palette.h statbmp.h
brush.h dataobj2.h glcanvas.h pen.h statbox.h
button.h dataview.h helpxxxx.h pnghand.h statline.h
[carbon] dc.h icon.h pngread.h stattext.h
checkbox.h dcclient.h imaglist.h popupwin.h statusbr.h
checklst.h dcmemory.h joystick.h printdlg.h taskbarosx.h
chkconf.h dcprint.h listbox.h printmac.h textctrl.h
choice.h dcscreen.h listctrl.h private.h tglbtn.h
clipbrd.h dialog.h mdi.h radiobox.h toolbar.h
[cocoa] dirdlg.h menu.h radiobut.h tooltip.h
colordlg.h dnd.h menuitem.h region.h toplevel.h
colour.h evtloop.h metafile.h scrolbar.h treectrl.h
combobox.h evtloopsrc.h mimetype.h slider.h uma.h
control.h filedlg.h minifram.h sound.h window.h
Skuld:wx ngompa$ ls ./osx/core
cfdataref.h cfstring.h hid.h private stdpaths.h
cfref.h colour.h joystick.h private.h
Skuld:wx ngompa$ ls ./osx/carbon
chkconf.h [private] region.h uma.h
evtloop.h private.h statbmp.h
Skuld:wx ngompa$ ls ./osx/carbon/private
mactext.h overlay.h print.h
Skuld:wx ngompa$ ls ./osx/cocoa
chkconf.h dataview.h evtloop.h private.h
wxWidgets cannot build when USE_STC=0, but with wxUSE_STC set to 0 in setup.h, the same errors still happen...
Builds for me every time I do them both.
Edit: started Wiki Page
http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.9.0_to_develop_Code::Blocks_(MSW) (http://wiki.codeblocks.org/index.php?title=Compiling_wxWidgets_2.9.0_to_develop_Code::Blocks_(MSW))
Edit: Inside which file are you changing wxUSE_STC?
Edit: My directions assumed you were an expert at building wxWidgets.
The easiest way for beginners to do it is
1. Delete the stuff under lib\gcc_dll
a. do a clean
b. delete all the rest
2. Edit include\wx\msw\setup.h (If it does not exist copy setup0.h to setup.h)
Change wxUSE_STC to zero
3. Do a normal build
mingw32-make -f makefile.gcc USE_STC=0 USE_PROPGRID=1 USE_OPENGL=0 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 CPPFLAGS="-Wmissing-include-dirs"
I change step 2 to this when I do it because I build wxWidgets so many different ways is it easier to never change setup.h under include\wx\msw
NOTE: You should never need to change include\wx\msw\setup0.h
Correction the file setup0.h should not be edited; been too long since I did it the old way.
After deleting/Cleaning
2a. recreate the folders under lib\gcc_dll to hold the modified setup.h
2b. use SED.exe to change the values I need changed and save it in the correct folder under lib\gcc_dll
Tim S.