News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

Compile error with SVN 3173

Started by scorpion007, November 03, 2006, 04:07:38 AM

Previous topic - Next topic

scorpion007

src/sdk/scripting/sqplus -O2 -ffast-math -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -MT sc_io.lo -MD -MP -MF .deps/sc_io.Tpo -c sc_io.cpp  -fPIC -DPIC -o .libs/sc_io.o
sc_io.cpp: In function 'wxString ScriptBindings::IOLib::ChooseFile(const wxString&, const wxString&, const wxString&)':
sc_io.cpp:69: error: 'wxHIDE_READONLY' was not declared in this scope
make[5]: *** [sc_io.lo] Error 1
make[5]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src/sdk/scripting/bindings'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src/sdk/scripting'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src/sdk'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src/sdk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src'
make: *** [all-recursive] Error 1


I did a quick google search and it seems that it is related to wxWidgets 2.4 compatibility. Should I really be using that to compile codeBlocks?
On a side note, i'm trying to compile with wxX11, not GTK under SUSE 10.1. I hope there is nothing wrong with that.

My wxWidgets was compiled with unicode, non-monolithic, X11, and the rest default.

scorpion007

I recompiled wxWidgets with 2.4 compatibility, and it gets further, now this is the error.

-I./src/scintilla/include -I./src/scintilla/src -DSCI_LEXER -DLINK_LEXERS -DGTK -O2 -ffast-math -g -O2 -DCB_PRECOMP -Winvalid-pch -fPIC -DPIC -MT ScintillaWX.lo -MD -MP -MF .deps/ScintillaWX.Tpo -c src/ScintillaWX.cpp  -fPIC -DPIC -o .libs/ScintillaWX.o
src/ScintillaWX.cpp: In member function 'void ScintillaWX::DoPaint(wxDC*, wxRect)':
src/ScintillaWX.cpp:687: warning: 'BeginDrawing' is deprecated (declared at /usr/local/include/wx-2.7/wx/dc.h:392)
src/ScintillaWX.cpp:698: warning: 'EndDrawing' is deprecated (declared at /usr/local/include/wx-2.7/wx/dc.h:393)
src/ScintillaWX.cpp: In member function 'int ScintillaWX::DoKeyDown(const wxKeyEvent&, bool*)':
src/ScintillaWX.cpp:890: error: duplicate case value
src/ScintillaWX.cpp:888: error: previously used here
src/ScintillaWX.cpp:891: error: duplicate case value
src/ScintillaWX.cpp:889: error: previously used here
src/ScintillaWX.cpp:894: error: duplicate case value
src/ScintillaWX.cpp:892: error: previously used here
src/ScintillaWX.cpp:895: error: duplicate case value
src/ScintillaWX.cpp:893: error: previously used here
make[4]: *** [ScintillaWX.lo] Error 1
make[4]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src/sdk/wxscintilla'


stahta01

#2
You have to use wxWidgets 2.6.x not 2.7.x. The ScintillaWX error you get is commonly the first error on trying to compile codeblocks against wxWidgets 2.7.0.

See http://forums.next.codeblocks.org/index.php?topic=4259.msg33678#msg33678

Tim S
C Programmer working to learn more about C++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

scorpion007


scorpion007

hmm, I now get these errors, this is using wxX11 2.6
Is it anything to do with the fact I'm using wxX11 over wxGTK?
I would really prefer to try out X11 native over GTK if at all possible.

./src/propgrid/custctrl.cpp:312:26: error: commctrl.h: No such file or directory
./src/propgrid/custctrl.cpp: In function 'void wxRendererNative_DrawButton(wxWindow*, wxDC&, const wxRect&, int)':
./src/propgrid/custctrl.cpp:357: error: 'wxUxThemeHandle' was not declared in this scope
./src/propgrid/custctrl.cpp:357: error: expected `;' before 'themeHandle'
./src/propgrid/custctrl.cpp:361: error: 'HTHEME' was not declared in this scope
./src/propgrid/custctrl.cpp:361: error: expected `;' before 'hTheme'
./src/propgrid/custctrl.cpp:367: error: 'hTheme' was not declared in this scope
./src/propgrid/custctrl.cpp:375: error: 'tagRECT' was not declared in this scope
./src/propgrid/custctrl.cpp:375: error: expected `;' before 'trect'
./src/propgrid/custctrl.cpp:376: error: 'trect' was not declared in this scope
./src/propgrid/custctrl.cpp:438: error: 'wxUxThemeEngine' has not been declared
./src/propgrid/custctrl.cpp:438: error: expected initializer before '->' token
make[4]: *** [custctrl.lo] Error 1
make[4]: Leaving directory `/home/alex/svnhome/codeblocks/trunk/src/sdk/propgrid'

afb

Code::Blocks requires wxGTK (well, or wxMSW or wxMac). GTK+ 2.x, even...
So it wouldn't work with wxX11/wxUniversal or wxMotif, without modifications.

scorpion007

Ahh, i see.

Could you give me a brief explanation as to why wxX11 does not work with C::B? Is it because certain parts of code are written in non-portable ways which rely on certain GTK features?

afb

#7
Quote from: scorpion007 on November 03, 2006, 08:17:59 AM
Could you give me a brief explanation as to why wxX11 does not work with C::B? Is it because certain parts of code are written in non-portable ways which rely on certain GTK features?

Yup :-) (think #ifdef __WXGTK__ and so on)

Does wxX11 even have all the widgets ?
(and why not use wxGTK, for SUSE 10.1?)

scorpion007

#8
ah i see.

Well, i dont know -- it should have the majority of them shouldnt it? At least as much as win32 native widgets, though i could be mistaken. The reason i would like to try X11 is because it's probably going to run a hell of a lot faster than GTK, which is known to be sluggish.

I have wxGTK -- i just wanted to try X11 for the aforementioned reasons.

afb

Quote from: scorpion007 on November 03, 2006, 08:57:32 AM
Well, i dont know -- it should have the majority of them shouldnt it?

It would also need all the advanced ones, like wxAUI and wxFNB and so on...
(I haven't even tried, I just don't know that GTK+ 1.x or Motif are not enough)

Quote
I have wxGTK -- i just wanted to try X11 for the aforementioned reasons.

If you want to do a port to wxUniversal, I'm sure it could be considered later ?
But if it is just for "speed reasons", I'm not sure it would be worth the effort...

mandrav

QuoteCould you give me a brief explanation as to why wxX11 does not work with C::B? Is it because certain parts of code are written in non-portable ways which rely on certain GTK features?

There is nothing non-portable in there. But C::B does require wxGTK for linux platforms and that is because wxGTK is the most complete port of wxWidgets for those platforms.
Next time you will want to build C::B with wxUniv... :lol:
Be patient!
This bug will be fixed soon...

afb

Quote from: mandrav on November 03, 2006, 09:16:25 AM
There is nothing non-portable in there. But C::B does require wxGTK for linux platforms and that is because wxGTK is the most complete port of wxWidgets for those platforms.

Just FYI: There is a similar situation on the Mac OS X platform, where C::B requires wxMac (i.e. Carbon) because it is the most complete version of wxWidgets (compared to wxCocoa)

Quote
Next time you will want to build C::B with wxUniv... :lol:

wxX11 does use wxUniversal for the widgets, AFAIK ?