Page 1 of 1

No Ogremain_d.dll (but everything else exists)

Posted: Tue Dec 21, 2004 3:42 am
by NoBrain2k
Hello there, I'm new! :)

I'm trying to follow Xorekis’s first tutorial pack (but using VS.NET) everything seemed to be going great until the first compile (now isn't that always the way?)

The problem was linker errors..

Code: Select all

FirstPlay error LNK2019: unresolved external symbol "__declspec(dllimport) private: void * __thiscall Ogre::MemoryManager::op_new_sc(unsigned int,unsigned int)" (__imp_?op_new_sc@MemoryManager@Ogre@@AAEPAXII@Z) referenced in function "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
FirstPlay error LNK2019: unresolved external symbol "__declspec(dllimport) private: void * __thiscall Ogre::MemoryManager::op_new_sc(unsigned int,unsigned int)" (__imp_?op_new_sc@MemoryManager@Ogre@@AAEPAXII@Z) referenced in function "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
FirstPlay error LNK2019: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ) referenced in function "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
FirstPlay error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
FirstPlay error LNK2019: unresolved external symbol "__declspec(dllimport) private: void __thiscall Ogre::MemoryManager::op_del_sc(void *,unsigned int)" (__imp_?op_del_sc@MemoryManager@Ogre@@AAEXPAXI@Z) referenced in function "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)
FirstPlay error LNK2001: unresolved external symbol "__declspec(dllimport) private: void __thiscall Ogre::MemoryManager::op_del_sc(void *,unsigned int)" (__imp_?op_del_sc@MemoryManager@Ogre@@AAEXPAXI@Z)
FirstPlay error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z) referenced in function "protected: virtual bool __thiscall ExampleApplication::setup(void)" (?setup@ExampleApplication@@MAE_NXZ)
I searched the forums, like a good boy and found that OgreMain.lib doesn't have the MemoryManager whereas OgreMain_d.lib does. So all I need to do to fix my problem in theory is link to OgreMain_d.lib .

Thing is I don't actually have OgreMain_d.lib... at all.. I even searched for it incase i was losing my sanity.

So.. Any ideas??? There were no errors when I batch built Ogre so i'm rather lost as to what has gone wrong :?

Anyway, please excuse me if its something stupid that I haven't done right

Thanks in advance,
Jake

Posted: Tue Dec 21, 2004 3:57 am
by monster
Have you tried building the Debug mode OgreMain project on it's own, rather than as part of a batch build?

Assuming you've got the Ogre solution loaded up, just choose Debug in the dropdown list on the toolbar, right click the OgreMain project and choose Build off the context menu.

Oh, and Hello there!
:)

Posted: Tue Dec 21, 2004 4:13 am
by NoBrain2k
Fantastic, it worked!
Quite simple yet I NEVER would have thought of it!

Thanks very much monster!

Posted: Mon Feb 14, 2005 10:23 pm
by Lucky_Luciano
Sorry for the bump, but thanks a lot Monster :) I've been cracking my head on this for some time now...

Someone should really update the official tutorial and the Wiki files. Both files don't mention the OgreMain_d.lib file anywhere or how to make it...

Thanks!

Posted: Mon Feb 14, 2005 10:41 pm
by Clay
Those should probably either be removed or moved to the wiki so the community can keep them up to date. Those cause an endless barrage of questions. =)

Posted: Mon Feb 14, 2005 11:25 pm
by sinbad
I know, I know - auditing all the tutorials is on my todo for this weekend. It's a dirty job, but someone's gotta do it :?