Game Development Community

Make tools issue during linking (solved)

by Philippe C · in Torque Game Engine · 07/14/2007 (9:00 am) · 1 replies

I have compiled torque on Ubuntu in debug and realase mode.

But when I launch make tools : I got the folowing error messages during linking


make tools

.....

--> Linking map2difPlus.bin
../engine/out.GCC4.RELEASE/engine.a(sgLightManager.obj): In function 'sgRelightFilter::sgAllowLighting(Box3F const&, bool)':
sgLightManager.cc:(.text+0x492): undefined reference to 'EditTSCtrl::smCamPos'
sgLightManager.cc:(.text+0x498): undefined reference to 'EditTSCtrl::smCamPos'
sgLightManager.cc:(.text+0x49e): undefined reference to 'EditTSCtrl::smCamPos'
../engine/out.GCC4.RELEASE/engine.a(sgLightManager.obj): In function 'sgRelightFilter::sgRenderAllowedObjects(void*)':
sgLightManager.cc:(.text+0x1aa6): undefined reference to 'WorldEditor::objClassIgnored(SceneObject const*)'
sgLightManager.cc:(.text+0x1ac1): undefined reference to 'EditTSCtrl::smCamPos'
sgLightManager.cc:(.text+0x1acd): undefined reference to 'EditTSCtrl::smCamPos'
sgLightManager.cc:(.text+0x1ad3): undefined reference to 'EditTSCtrl::smCamPos'
sgLightManager.cc:(.text+0x1bec): undefined reference to 'WorldEditor::renderObjectBox(SceneObject*, ColorI const&)'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::initWindow(Point2I const&, char const*)':
x86UNIXWindow.cc:(.text+0x2f9): undefined reference to 'InitOpenGL()'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::setWindowLocked(bool)':
x86UNIXWindow.cc:(.text+0x3b2): undefined reference to 'typeinfo for UInputManager'
x86UNIXWindow.cc:(.text+0x3f1): undefined reference to 'UInputManager::setWindowLocked(bool)'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'ProcessMessages()':
x86UNIXWindow.cc:(.text+0x692): undefined reference to 'NotifySelectionEvent(_XEvent&)'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::process()':
x86UNIXWindow.cc:(.text+0x8d3): undefined reference to 'PollRedbookDevices()'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::AlertOK(char const*, char const*)':
x86UNIXWindow.cc:(.text+0x11a5): undefined reference to 'XMessageBox::XMessageBox(_XDisplay*)'
x86UNIXWindow.cc:(.text+0x11b5): undefined reference to 'XMessageBox::alertOK(char const*, char const*)'
x86UNIXWindow.cc:(.text+0x11e6): undefined reference to 'XMessageBox::~XMessageBox()'
x86UNIXWindow.cc:(.text+0x136d): undefined reference to 'XMessageBox::~XMessageBox()'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::init()':
x86UNIXWindow.cc:(.text+0x15bb): undefined reference to 'OpenGLInit'
x86UNIXWindow.cc:(.text+0x15d1): undefined reference to 'OpenGLDevice::create()'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::AlertRetry(char const*, char const*)':
x86UNIXWindow.cc:(.text+0x1958): undefined reference to 'XMessageBox::XMessageBox(_XDisplay*)'
x86UNIXWindow.cc:(.text+0x1968): undefined reference to 'XMessageBox::alertRetryCancel(char const*, char const*)'
x86UNIXWindow.cc:(.text+0x19a4): undefined reference to 'XMessageBox::~XMessageBox()'
x86UNIXWindow.cc:(.text+0x1abe): undefined reference to 'XMessageBox::~XMessageBox()'
../engine/out.GCC4.RELEASE/engine.a(x86UNIXWindow.obj): In function 'Platform::AlertOKCancel(char const*, char const*)':
x86UNIXWindow.cc:(.text+0x1c18): undefined reference to 'XMessageBox::XMessageBox(_XDisplay*)'
x86UNIXWindow.cc:(.text+0x1c28): undefined reference to 'XMessageBox::alertOKCancel(char const*, char const*)'
x86UNIXWindow.cc:(.text+0x1c64): undefined reference to 'XMessageBox::~XMessageBox()'
x86UNIXWindow.cc:(.text+0x1d7e): undefined reference to 'XMessageBox::~XMessageBox()'
....
make[1]: *** [map2difPlus.bin] Error 1
make: *** [tools] Error 2

#1
08/04/2007 (12:46 am)
The issue is solved : I have updated ~/engine/targets.torque.mk ( see below )

I have added 2 lines to SOURCE.ENGINE :
$(SOURCE.EDITOR) \
$(SOURCE.PLATFORMX86UNIX)

The line in comment should be restablished for the torque and torque-dedicated compilation.
#SOURCE.ENGINE += $(SOURCE.PLATFORM$(OS)DEDICATED)

SOURCE.ENGINE =\
	$(SOURCE.COLLISION) \
	$(SOURCE.CONSOLE) \
	$(SOURCE.CONSTRUCTOR) \
	$(SOURCE.CORE) \
	$(SOURCE.DGL) \
	$(SOURCE.I18N) \
	$(SOURCE.INTERIOR) \
	$(SOURCE.MATH) \
	$(SOURCE.PLATFORM) \
	$(SOURCE.SCENEGRAPH) \
	$(SOURCE.SIM) \
	$(SOURCE.TERRAIN) \
	$(SOURCE.TS) \
	$(SOURCE.AUDIO) \
	$(SOURCE.GUI) \
	$(SOURCE.GAME) \
	$(SOURCE.GAME.FPS) \
	$(SOURCE.GAME.NET) \
	$(SOURCE.GAME.FX) \
	$(SOURCE.GAME.VEHICLES) \
        $(SOURCE.UTIL) \
        $(SOURCE.LIGHTINGSYSTEM) \
   $(SOURCE.EDITOR) \
   $(SOURCE.PLATFORMX86UNIX)

ifeq "$(OS)" "WIN32"
SOURCE.ENGINE += $(SOURCE.PLATFORM$(OS))
else
#SOURCE.ENGINE += $(SOURCE.PLATFORM$(OS)DEDICATED)
endif