I'm trying to build Irrlicht14 with dhenton9000's Light Map Maker loader (thanks dhenton9000!).
The problem is this; after compiling the engine with the new LMMLoader.cpp and LMMLoader.h files I still get a 'unresolved symbol' when compiling a project that uses the new CLMMLoader class.
I am new to Visual Studio .net 2003 so I am thinking that my new engine build hasn't actually exported the new classes, but I can't see how to fix this.
This is what I have done so far
Built the Irrlicht14 engine unmodified (but without D3D8 & 9 support) using the .vcproj 71 file in the download. Compiles fine, and my basic test project runs with it.
Cleaned the solution.
Added the LMMLoader.cpp & LMMLoader.h files into the project under 'scene impl / loaders'
Built the project. This is ok, no errors. There is a LMMLoader.obj in the release folder, along with the Irrlicht.Lib, Irrlicht.Exp & Irrlicht.DLL files.
Moved the .Lib & .Exp to my new engine runtime LIB path (& checked there are no older versions of the files here). I'm using the same engine folder structure as official Irrlicht but starting with it empty & only copying in the headers and the new lib stuff.
Closed the engine build project. Opened my test app project and added the code to use the CLMMLoader.
Checked in tools->options-projects->vc++ dirs that the path to my new Irrlicht.Lib is set ok.
Run a build. Project compiles, but linking fails with a error LNK2019: unresolved external symbol for the CLMMLoader class.
The build log shows this as the linker command
/OUT:"Debug/lmmtest.exe" /INCREMENTAL /NOLOGO /LIBPATH:"F:\irrlicht\lib\Win32-VisualStudio" /DEBUG /PDB:"Debug/lmmtest.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 irrlicht.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
.\Debug\lmmtest.obj
.\Debug\stdafx.obj
It looks like I'm compiling against the new .LIB (if I rename it compile stops with 'file not found error'), but the .LIB doesn't have the CLMMLOader stuff in it?
Can anyone tell me where to look next to fix this?
BTW, first post, so thanks to Niko and everyone in the community who makes Irrlicht what it is.
Compile engine with Light Map Maker loader?
Ok, after trying various linker options I'm giving up on this for now. Its probably possible, but I'm just too stupid at the moment.
Using dh9k's code directly in the test app works, sort of. Using the demo object ('beta.irr') one of the lightmap bitmaps loads but doesn't display on some triangles. Don't know if this is a 0.14 compatability issue.
Using dh9k's code directly in the test app works, sort of. Using the demo object ('beta.irr') one of the lightmap bitmaps loads but doesn't display on some triangles. Don't know if this is a 0.14 compatability issue.
you'll do better using it as an external loader while and if it's decided to be merged into the main source.
That's how it has been before for my3d, lmtools, cshop, deled and some other lightmapping options. They all started out as external loaders and finally made it into the source (with a lot of interaction between their creators and Niko)
That's how it has been before for my3d, lmtools, cshop, deled and some other lightmapping options. They all started out as external loaders and finally made it into the source (with a lot of interaction between their creators and Niko)