Author Topic: SVN will not compile (wxPropertyGrid) --- SOLVED ---  (Read 4818 times)

Offline BjoernP

  • Multiple posting newcomer
  • *
  • Posts: 11
SVN will not compile (wxPropertyGrid) --- SOLVED ---
« on: July 24, 2006, 02:34:59 am »
--- UPDATE ---

Think I've got the bad guy. Sure, it's myself :-)
Problem was: I have propertygrid installed into my wxWidgets tree (contrib/, installer from project website) AND {WX}/contrib/include is in the compiler -Ipaths of the CB-Project. This got messed up, cpp from CB, header from (more recent) propgrid installer.

That is because you -- as I already seen in wxaui and other inlined contribs -- have silently commented out the WX_DLL_IMP_EXP_WHATEVER macro-hell out from the source (see macro WXMAKINGDLL_PROPGRID in propgrid.h). This btw I sincerely thank you for, because it got me on the right track after running into this mess when trying to compile contribs and parts of wxcode versus dll (had a post on wxwidgets forum on that a few weeks ago).

To fix this, I suggest maybe delete the contrib/include from -IPaths in the project (if not needed, should not since the svn tree has it all) or make sure the lookup-order of include-paths (which is order of arguments to g++ AFAIR) takes CB includes first (that is: <up> "sdk\propgrid\include" in Directories/Compiler)?

Anyway, my big thanks to all you devs of CB, I really really love working with it and see it grow from day to day.
Keep up the great work!  8)


Bjoern

----

Hi there,
current svn revision will not compile. wxPropertyGridManager, warnings and errors on dll imported weirdness and some really strange/obvious errors in the code.
It starts:


-------------- Build: wxPropertyGrid in Code::Blocks ---------------
mingw32-g++.exe -Wall -g -pipe -mthreads -fmessage-length=0 -fexceptions -Winvalid-pch -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DTIXML_USE_STL -DCB_PRECOMP -DWX_PRECOMP -DwxUSE_UNICODE  -IC:\dev\wxWidgets-2.6.3\include -IC:\dev\wxWidgets-2.6.3\lib\gcc_dll\mswu -IC:\dev\wxWidgets-2.6.3\lib\gcc_dll\mswu -IC:\dev\wxWidgets-2.6.3\contrib\include -Isdk\wxscintilla\include -Isdk\propgrid\include -IC:\MinGW\include  -c sdk\propgrid\src\propgrid\manager.cpp -o .objs\2.6\sdk\propgrid\src\propgrid\manager.o
sdk\propgrid\src\propgrid\manager.cpp:92: warning: 'wxPropertyGridManagerNameStr' defined locally after being referenced with dllimport linkage
sdk\propgrid\src\propgrid\manager.cpp:200: error: definition of static data member 'wxPropertyGridManager::ms_classInfo' of dllimport'd class
sdk\propgrid\src\propgrid\manager.cpp:210: error: definition of static data member 'wxPropertyGridManager::sm_eventTable' of dllimport'd class
sdk\propgrid\src\propgrid\manager.cpp:210: error: definition of static data member 'wxPropertyGridManager::sm_eventHashTable' of dllimport'd class
sdk\propgrid\src\propgrid\manager.cpp:210: error: definition of static data member 'wxPropertyGridManager::sm_eventTableEntries' of dllimport'd class
sdk\propgrid\src\propgrid\manager.cpp:210: warning: 'wxPropertyGridManager::sm_eventTableEntries' defined locally after being referenced with dllimport linkage
sdk\propgrid\src\propgrid\manager.cpp:248: warning: non-inline function 'bool wxPropertyGridManager::Create(wxWindow*, wxWindowID, const wxPoint&, const wxSize&, long int, const wxChar*)' is defined after prior declaration as dllimport: attribute ignored


Where manager.cpp:200 reads
Code
IMPLEMENT_CLASS(wxPropertyGridManager, wxPanel)

Then the following errors are somewhat strange, because they are really simple, obvious errors. Makes me wonder, if my svn copy may be broken or a mess on the server-side, server moved, ...?
Here it goes:
sdk\propgrid\src\propgrid\manager.cpp:588: error: prototype for `void wxPropertyGridManager::Compact(bool)' does not match any in class `wxPropertyGridManager'
C:/dev/wxWidgets-2.6.3/contrib/include/wx/propgrid/manager.h:379: error: candidate is: bool wxPropertyGridManager::Compact(bool)
sdk\propgrid\src\propgrid\manager.cpp:588: error: `void wxPropertyGridManager::Compact(bool)' and `bool wxPropertyGridManager::Compact(bool)' cannot be overloaded
sdk\propgrid\src\propgrid\manager.cpp:604: error: prototype for `int wxPropertyGridManager::InsertPage(int, const wxString&, const wxBitmap&)' does not match any in class `wxPropertyGridManager'
C:/dev/wxWidgets-2.6.3/contrib/include/wx/propgrid/manager.h:685: error: candidate is: virtual int wxPropertyGridManager::InsertPage(int, const wxString&, const wxBitmap&, wxPropertyGridPage*)

...and really, the compiler does not ly, the definition does not match in return type... what's that?

svn-attributes:
URL: svn://svn.berlios.de/codeblocks/trunk
Base at rev 2778
{propgrid}/manager.h/cpp: at rev 1960 from feb. 7 2006 (???? <-- how could that compile for ages...???)

...well, I sense some weired setup trouble, wait...
(continued at top...)
gcc-4.3-tdm (mingw), gcc-4.2.1-dw2 (mingw) << CB wx 2.8 (cvs WX_2_8_BRANCH)  << CB wx-2.9.x (cvs head) WinXP