Page 1 of 1

Can anyone compile and send me the DLL and Libs of the SVN?

Posted: Wed Sep 26, 2007 5:44 pm
by MasterGod
I can't seem to compile the SVN version cause I use VC6 (which is known).
Can anyone (who can) compile it and send me the irrlicht.dll and the libs so I'll be able to at least code my app accordingly to v1.4?

Posted: Wed Sep 26, 2007 9:16 pm
by hybrid
Hey, that last problem with VC6 was quick fixed in one of the last revisions. I posted about that in your bug report :!: You can compile with VC6 now.

Posted: Wed Sep 26, 2007 9:35 pm
by MasterGod
Maybe some other problem but I tried now with revision 1004 and this is what I get: (and I posted it in the right thread also)

Code: Select all

--------------------Configuration: Irrlicht - Win32 Debug--------------------
Linking...
   Creating library ..\Debug/Irrlicht.lib and object ..\Debug/Irrlicht.exp
CNullDriver.obj : error LNK2001: unresolved external symbol "class irr::video::IImageLoader * __cdecl irr::video::createImageLoaderPPM(void)" (?createImageLoaderPPM@video@irr@@YAPAVIImageLoader@12@XZ)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CIrrMeshFileLoader::CIrrMeshFileLoader(class irr::video::IVideoDriver *,class irr::scene::ISceneManager *,class irr::io::IFileSystem *)" (??0CIrrMeshFileLo
ader@scene@irr@@QAE@PAVIVideoDriver@video@2@PAVISceneManager@12@PAVIFileSystem@io@2@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: virtual class irr::scene::IAnimatedMesh * __thiscall irr::scene::CSTLMeshFileLoader::createMesh(class irr::io::IReadFile *)" (?createMesh@CSTLMeshFileLoader@scene@irr@@UAEPAVIAni
matedMesh@23@PAVIReadFile@io@3@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall irr::scene::CSTLMeshFileLoader::isALoadableFileExtension(char const *)const " (?isALoadableFileExtension@CSTLMeshFileLoader@scene@irr@@UBE_NPBD@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CSTLMeshWriter::CSTLMeshWriter(class irr::scene::ISceneManager *)" (??0CSTLMeshWriter@scene@irr@@QAE@PAVISceneManager@12@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CColladaMeshWriter::CColladaMeshWriter(class irr::video::IVideoDriver *,class irr::io::IFileSystem *)" (??0CColladaMeshWriter@scene@irr@@QAE@PAVIVideoDrive
r@video@2@PAVIFileSystem@io@2@@Z)
CSceneManager.obj : error LNK2001: unresolved external symbol "public: __thiscall irr::scene::CIrrMeshWriter::CIrrMeshWriter(class irr::video::IVideoDriver *,class irr::io::IFileSystem *)" (??0CIrrMeshWriter@scene@irr@@QAE@PAVIVideoDriver@video@2@PA
VIFileSystem@io@2@@Z)
..\Debug/Irrlicht.dll : fatal error LNK1120: 7 unresolved externals
Error executing link.exe.

Irrlicht.dll - 8 error(s), 0 warning(s)

Posted: Wed Sep 26, 2007 9:39 pm
by Saturn
This just looks like project files not up-to-date. Just add the cpp files that contain the missing symbols to the irrlicht vc6 project and compile.

Posted: Wed Sep 26, 2007 9:49 pm
by hybrid
Which one is the VC6 project? I did not know that there's another project file.

Posted: Wed Sep 26, 2007 9:55 pm
by MasterGod
I'm downloading it all again now. I'll edit this post in few min if it compiles or not.

Edit: It still doesn't. So which files should I add?

Edit2:
Ok found it! IT COMPILES! YAY! :D
Thanks A LOT!

Posted: Wed Sep 26, 2007 10:30 pm
by TomiZ
I had some problem in Code::Block.

To solve it I changed (in CSceneManager.cpp)

Code: Select all

2199 //! Returns a mesh writer implementation if available
 2200 IMeshWriter* CSceneManager::createMeshWriter(EMESH_WRITER_TYPE type)
 2201 {
 2202 	switch(type)
 2203 	{
 2204 	case EMWT_IRR_MESH:
 2205 		return new CIrrMeshWriter(Driver, FileSystem);
 2206 	case EMWT_COLLADA:
 2207 		return new CColladaMeshWriter(Driver, FileSystem);
 2208 	case EMWT_STL:
 2209 		return new CSTLMeshWriter(this);
 2210 	}
 2211 
 2212 	return 0;
 2213 }
to

Code: Select all

//! Returns a mesh writer implementation if available
IMeshWriter* CSceneManager::createMeshWriter(EMESH_WRITER_TYPE type)
{
	switch(type)
	{
	case EMWT_IRR_MESH:
        #ifdef _IRR_COMPILE_WITH_IRR_WRITER_
            return new CIrrMeshWriter(Driver, FileSystem);
        #else
            return NULL;
        #endif

	case EMWT_COLLADA:
        #ifdef _IRR_COMPILE_WITH_COLLADA_WRITER_
		return new CColladaMeshWriter(Driver, FileSystem);
        #else
            return NULL;
        #endif
	case EMWT_STL:
        #ifdef _IRR_COMPILE_WITH_STL_WRITER_
        return new CSTLMeshWriter(this);
        #else
            return NULL;
        #endif
	}
	return 0;
}

Posted: Wed Sep 26, 2007 10:58 pm
by hybrid
Oh, that's a good point. We now have so many compile options that it's really hard to track all those things. Thanks.