Game Development Community

Link errors building map2Dif with 1.5 and VS2005

by J "hplus" W · in Game Design and Creative Issues · 10/28/2006 (5:45 pm) · 3 replies

I tried re-building the entire SDK using Visual Studio 2005 after downloading and installing the 1.5 release. I'm using the 2005 project files in the SDK. map2dif and map2dif_plus gives me link errors, in both debug and release mode. I guess some files were forgotten in the TorqueLib project in 2005; I'll go looking in a little while but it'd be nice if someone else had found them already.

In general, for a new SDK release, you'd assume that it's intended to support the current versions of tools (i e, gcc 4.1, MSVC 2005, etc) but I guess that's just me being too optimistic.

(ok, the code length limitation sucks -- errors truncated)

------ Build started: Project: map2difPlus, Configuration: Release Win32 ------
Linking...
ljpeg_debug.lib(jdapimin.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:ICF' specification
LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
engine.lib(interior.obj) : error LNK2019: unresolved external symbol "public: void __thiscall sgDetailMapping::sgClearDetailMapping(void)" (?sgClearDetailMapping@sgDetailMapping@@QAEXXZ) referenced in function "public: __thiscall sgDetailMapping::~sgDetailMapping(void)" (??1sgDetailMapping@@QAE@XZ)
engine.lib(interior.obj) : error LNK2019: unresolved external symbol "public: void __thiscall sgDetailMapping::sgInitDetailMapping(class MaterialList *)" (?sgInitDetailMapping@sgDetailMapping@@QAEXPAVMaterialList@@@Z) referenced in function "public: bool __thiscall Interior::prepForRendering(char const *)" (?prepForRendering@Interior@@QAE_NPBD@Z)


../tools/map2dif_plus.exe : fatal error LNK1120: 23 unresolved externals

#1
10/28/2006 (6:26 pm)
Yeah, I hit this with 1.42 & VS 8 yesterday. I just built map2dif with VS 7 instead, in order to keep moving forward. I'm curious to see what you discover...
#2
10/28/2006 (9:51 pm)
It looks like the LightingSystem folder is missing from the VC2005 Torque Tools project. Try adding these files to that project:


engine\lightingSystem\sgDetailMapping.cc
engine\lightingSystem\sgDetailMapping.h
engine\lightingSystem\sgLightingModel.cc
engine\lightingSystem\sgLightingModel.h
engine\lightingSystem\sgLightManager.cc
engine\lightingSystem\sgLightManager.h
engine\lightingSystem\sgLightMap.cc
engine\lightingSystem\sgLightMap.h
engine\lightingSystem\sgObjectShadows.cc
engine\lightingSystem\sgObjectShadows.h
engine\lightingSystem\sgSceneLighting.cc
engine\lightingSystem\sgSceneLighting.h
engine\lightingSystem\sgSceneLightingGlobals.h
engine\lightingSystem\sgSceneLightingInterior.cc
engine\lightingSystem\sgSceneLightingTerrain.cc
engine\lightingSystem\sgScenePersist.cc
engine\lightingSystem\sgScenePersist.h
#3
10/29/2006 (8:44 pm)
Yes, I ended up adding a new group in the VS8 project called "lightingSystem" and adding all the files from the lightingSystem folder to it, and the tools then linked.