User forums > Help
'class ToolsList::Node' has not been declared error on any recent build
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