User forums > Help

'class ToolsList::Node' has not been declared error on any recent build

(1/3) > >>

Eden:
ive been getting the following error trying to build any recent (as in any build from the last couple of months) build.


--- Code: ---../../src/include/toolsmanager.h:41: error: 'class ToolsList::Node' has not been declared

--- End code ---

Its using wxGTK 2.8 built with X gif gnome joystick opengl sdl stl unicode support using GCC x86_64-pc-linux-gnu-4.2.0

Theres one mention of it in the forums http://forums.codeblocks.org/index.php/topic,5928.msg45367.html#msg45367 but no one ever helped the person so im guessing it was never resolved.

stahta01:

--- Quote from: Eden on August 27, 2007, 08:32:40 pm ---ive been getting the following error trying to build any recent (as in any build from the last couple of months) build.


--- Code: ---../../src/include/toolsmanager.h:41: error: 'class ToolsList::Node' has not been declared

--- End code ---

Its using wxGTK 2.8 built with X gif gnome joystick opengl sdl stl unicode support using GCC x86_64-pc-linux-gnu-4.2.0

Theres one mention of it in the forums http://forums.codeblocks.org/index.php/topic,5928.msg45367.html#msg45367 but no one ever helped the person so im guessing it was never resolved.

--- End quote ---

Try using wxWidgets built without STL, STL requires patching related to several things including Nodes in Code::Blocks.
If, I recall correctly, it is wxList class that is involved. I am at school and can't check it out.

If you are willing to test it so it works on Linux, I can create some patches to Code::Blocks SVN and try to get it to compile this weekend under Windows. You will need to know how to build Code::Blocks from source under Linux.

I don't have the time with classes to test the patches (under Linux) or to work on getting the Code::Blocks team to accept them.

Tim S

Eden:
If you know how to fix it ill be more than happy to test it under Linux (im a Gentoo user so im failure with compiling everything)

In the mean time ill build wxGTK without STL and see if ti works.

stahta01:
Submitted patch "wxList related patch to help compile with STL wxWidgets"

http://developer.berlios.de/patch/?func=detailpatch&patch_id=2161&group_id=5358
https://developer.berlios.de/patch/download.php?id=2161

Note: I gave up patching the STL related errors when I got to the SDK Scripting (Squirrel SqPlus) section of code. I really have problems understanding that code.

Tim S

Misc patches that are not ready for submitting to Code::Blocks; no plan to make them ready.


--- Code: ---Index: src/sdk/cbproject.cpp
===================================================================
--- src/sdk/cbproject.cpp (revision 4413)
+++ src/sdk/cbproject.cpp (working copy)
@@ -702,9 +702,9 @@
     return RemoveFile(f);
 }
 
-int filesSort(const ProjectFile** arg1, const ProjectFile** arg2)
+int filesSort(const void* arg1, const void* arg2)
 {
-    return (*arg1)->file.GetFullPath().CompareTo((*arg2)->file.GetFullPath());
+    return ((ProjectFile*)arg1)->file.GetFullPath().CompareTo(((ProjectFile*)arg2)->file.GetFullPath());
 }
 
 void cbProject::BuildTree(wxTreeCtrl* tree, const wxTreeItemId& root, bool categorize, bool useFolders, FilesGroupsAndMasks* fgam)
Index: src/sdk/compilercommandgenerator.cpp
===================================================================
--- src/sdk/compilercommandgenerator.cpp (revision 4413)
+++ src/sdk/compilercommandgenerator.cpp (working copy)
@@ -905,7 +905,7 @@
  DBGLOG(_T("Cached"));
  }
  ret << bt << _T(' ');
- str = str.substr(0, start) + bt + str.substr(end + 1, wxString::npos);
+ str = str.substr(0, start).append(bt.append(str.substr(end + 1, wxString::npos)));
 
  // find next occurrence
  start = str.find(_T('`'));
Index: src/sdk/scripting/bindings/sc_util_dialogs.cpp
===================================================================
--- src/sdk/scripting/bindings/sc_util_dialogs.cpp (revision 4413)
+++ src/sdk/scripting/bindings/sc_util_dialogs.cpp (working copy)
@@ -69,7 +69,7 @@
         EditArrayOrderDlg* dlg = 0;
 
         if (sa.GetParamCount() == 1)
-            dlg = new EditArrayOrderDlg(0);
+            dlg = new EditArrayOrderDlg((wxWindow*)0, wxArrayString());
         else if (sa.GetParamCount() == 2)
             dlg = new EditArrayOrderDlg(0, *SqPlus::GetInstance<wxArrayString>(v, 2));
         else
Index: src/sdk/toolsmanager.cpp
===================================================================
--- src/sdk/toolsmanager.cpp (revision 4413)
+++ src/sdk/toolsmanager.cpp (working copy)
Index: src/sdk/configmanager.cpp
===================================================================
--- src/sdk/configmanager.cpp (revision 4413)
+++ src/sdk/configmanager.cpp (working copy)
@@ -286,9 +286,10 @@
         {
             size_t size = is->GetSize();
             wxString str;
-            wxChar* c = str.GetWriteBuf(size);
+            // wxChar* c = str.GetWriteBuf(size);
+            wxChar* c = (wxChar*)wxStringBuffer(str, size);
             is->Read(c, size);
-            str.UngetWriteBuf(size);
+            // str.UngetWriteBuf(size);
 
             doc = new TiXmlDocument();
 

--- End code ---

keenblade:

--- Quote from: stahta01 on August 27, 2007, 09:38:02 pm ---...Try using wxWidgets built without STL, STL requires patching related to several things including Nodes in Code::Blocks...

--- End quote ---
Does this means  "--disable-stl" needed for wxWidgets to build codeblocks under linux?
I ask this because it seems these days I maintain the gentoo codeblocks svn ebuild. And a gentoo developer asks if this is needed.
Thanks.

Navigation

[0] Message Index

[#] Next page

Go to full version