TGE 1.4 HEAD Linking Error on guiDirectoryFileListCtrl etc
by Kuju Manila · in Torque Game Engine · 09/25/2006 (1:03 am) · 8 replies
I can't figure out what is the real problem with this:
Quote:
--> Linking out.GCC4.DEBUG/torqueDemo_DEBUG.bin
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'cGuiDirectoryFileListCtrlgetSelectedFiles':
gui/controls/guiDirectoryFileListCtrl.cc:120: undefined reference to 'GuiListBoxCtrl::getSelectedItems(Vector&)'
gui/controls/guiDirectoryFileListCtrl.cc:133: undefined reference to 'GuiListBoxCtrl::getItemText(int)'
gui/controls/guiDirectoryFileListCtrl.cc:145: undefined reference to 'GuiListBoxCtrl::getItemText(int)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'GuiDirectoryFileListCtrl::getSelectedFileName()':
gui/controls/guiDirectoryFileListCtrl.cc:160: undefined reference to 'GuiListBoxCtrl::getSelectedItem()'
gui/controls/guiDirectoryFileListCtrl.cc:164: undefined reference to 'GuiListBoxCtrl::getItemText(int)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'GuiDirectoryFileListCtrl::openDirectory()':
gui/controls/guiDirectoryFileListCtrl.cc:37: undefined reference to 'GuiListBoxCtrl::clearItems()'
gui/controls/guiDirectoryFileListCtrl.cc:48: undefined reference to 'GuiListBoxCtrl::addItem(char const*, void*)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'GuiDirectoryFileListCtrl::onMouseDown(GuiEvent const&)':
gui/controls/guiDirectoryFileListCtrl.cc:23: undefined reference to 'GuiListBoxCtrl::onMouseDown(GuiEvent const&)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'GuiDirectoryFileListCtrl::onWake()':
gui/controls/guiDirectoryFileListCtrl.cc:13: undefined reference to 'GuiListBoxCtrl::onWake()'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'GuiDirectoryFileListCtrl':
gui/controls/guiDirectoryFileListCtrl.cc:7: undefined reference to 'GuiListBoxCtrl::GuiListBoxCtrl()'
gui/controls/guiDirectoryFileListCtrl.cc:7: undefined reference to 'GuiListBoxCtrl::GuiListBoxCtrl()'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'GuiDirectoryFileListCtrl::getParentStaticClassRep()':
gui/controls/guiDirectoryFileListCtrl.cc:5: undefined reference to 'GuiListBoxCtrl::getStaticClassRep()'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function '~GuiDirectoryFileListCtrl':
./gui/controls/guiDirectoryFileListCtrl.h:13: undefined reference to 'GuiListBoxCtrl::~GuiListBoxCtrl()'
./gui/controls/guiDirectoryFileListCtrl.h:13: undefined reference to 'GuiListBoxCtrl::~GuiListBoxCtrl()'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj: In function 'ConcreteClassRep::init() const':
./console/consoleObject.h:361: undefined reference to 'GuiListBoxCtrl::initPersistFields()'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj:(.rodata._ZTV24GuiDirectoryFileListCtrl[vtable for GuiDirectoryFileListCtrl]+0xa4): undefined reference to 'GuiListBoxCtrl::parentResized(Point2I const&, Point2I const&)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj:(.rodata._ZTV24GuiDirectoryFileListCtrl[vtable for GuiDirectoryFileListCtrl]+0xa8): undefined reference to 'GuiListBoxCtrl::onRender(Point2I, RectI const&)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj:(.rodata._ZTV24GuiDirectoryFileListCtrl[vtable for GuiDirectoryFileListCtrl]+0x170): undefined reference to 'GuiListBoxCtrl::onRenderItem(RectI, GuiListBoxCtrl::LBItem*)'
out.GCC4.DEBUG/gui/controls/guiDirectoryFileListCtrl.obj:(.rodata._ZTI24GuiDirectoryFileListCtrl[typeinfo for GuiDirectoryFileListCtrl]+0x8): undefined reference to 'typeinfo for GuiListBoxCtrl'
collect2: ld returned 1 exit status
make[1]: *** [out.GCC4.DEBUG/torqueDemo_DEBUG.bin] Error 1
make: *** [default] Error 2
#2
09/25/2006 (4:54 pm)
By the way, I'm using GCC4 on SuSE 10.1 x86
#3
09/25/2006 (5:54 pm)
If you look back in the compile log, did the GuiListBoxControl file fail to build for some reason?
#4
09/25/2006 (7:00 pm)
None. The suspected files compiled fine with just the "No newline at end of file" warnings.
#5
I'll look at it some more, as I've decided to try to get Linux building a shot.
09/25/2006 (7:28 pm)
Actually, building from HEAD, I got that same error just now. I wonder if it's a link order thing (UNIX linkers being just a thin wrapper on top of "cat" after all :-)I'll look at it some more, as I've decided to try to get Linux building a shot.
#6
The file guiListBoxCtrl.cc isn't actually included in the targets.torque.mk file.
This patch ought to set you up:
09/25/2006 (7:39 pm)
OK, that was easy, once I figured out how the make files tie together.The file guiListBoxCtrl.cc isn't actually included in the targets.torque.mk file.
This patch ought to set you up:
Index: engine/targets.torque.mk
===================================================================
--- engine/targets.torque.mk (revision 618)
+++ engine/targets.torque.mk (working copy)
@@ -155,8 +155,9 @@
gui/controls/guiTextListCtrl.cc \
gui/controls/guiTreeViewCtrl.cc \
gui/controls/guiTabPageCtrl.cc \
- gui/controls/guiDirectoryFileListCtrl.cc \
- gui/controls/guiDirectoryTreeCtrl.cc \
+ gui/controls/guiListBoxCtrl.cc \
+ gui/controls/guiDirectoryFileListCtrl.cc \
+ gui/controls/guiDirectoryTreeCtrl.cc \
gui/core/guiArrayCtrl.cc \
gui/core/guiCanvas.cc \
gui/core/guiControl.cc \
#7
09/25/2006 (7:48 pm)
Oh great. I'll try that ;)
#8
The better thing is, It's finally the last error. I got a binary compiled!
09/25/2006 (8:03 pm)
Oh my, this is so sweet! That really fixed it. Thanks J "hplus" W!The better thing is, It's finally the last error. I got a binary compiled!
Kuju Manila
Default Studio Name
Thanks.