If this error appears compiling a ogrenewt demo,...

h3x0g3n

28-04-2006 22:24:23


1>------ Build started: Project: Demo01_TheBasics, Configuration: Debug Win32 ------
1>Linking...
1>OgreNewt_Main_d.lib(OgreNewt_Tools.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_MaterialID.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_Collision.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_Debugger.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_World.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_Body.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_CollisionPrimitives.obj) : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_BasicFrameListener.obj) : error LNK2001: 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)
1>demo01.obj : 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)
1>Line3D.obj : error LNK2001: 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)
1>OgreNewtonApplication.obj : error LNK2001: 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)
1>OgreNewtonFrameListener.obj : error LNK2001: 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)
1>OgreNewt_Main_d.lib(OgreNewt_Tools.obj) : 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 OgreNewt::Converters::MatrixToQuatPos(float const *,class Ogre::Quaternion &,class Ogre::Vector3 &)" (?MatrixToQuatPos@Converters@OgreNewt@@YAXPBMAAVQuaternion@Ogre@@AAVVector3@4@@Z)
1>OgreNewt_Main_d.lib(OgreNewt_MaterialID.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_Collision.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_Debugger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_World.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_Body.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_CollisionPrimitives.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_BasicFrameListener.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>demo01.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>Line3D.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewtonApplication.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) private: unsigned int __thiscall Ogre::MemoryManager::_getProcessID(void)" (__imp_?_getProcessID@MemoryManager@Ogre@@AAEIXZ)
1>OgreNewt_Main_d.lib(OgreNewt_Tools.obj) : 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)
1>OgreNewt_Main_d.lib(OgreNewt_MaterialID.obj) : 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)
1>OgreNewt_Main_d.lib(OgreNewt_Collision.obj) : 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)
1>OgreNewt_Main_d.lib(OgreNewt_Debugger.obj) : 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)
1>OgreNewt_Main_d.lib(OgreNewt_World.obj) : 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)
1>OgreNewt_Main_d.lib(OgreNewt_Body.obj) : 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)
1>OgreNewt_Main_d.lib(OgreNewt_CollisionPrimitives.obj) : 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 "public: __thiscall OgreNewt::CollisionPrimitives::Null::Null(class OgreNewt::World const *)" (??0Null@CollisionPrimitives@OgreNewt@@QAE@PBVWorld@2@@Z)
1>OgreNewt_Main_d.lib(OgreNewt_BasicFrameListener.obj) : 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)
1>demo01.obj : 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)
1>Line3D.obj : 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)
1>OgreNewtonApplication.obj : 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)
1>OgreNewtonFrameListener.obj : 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)
1>OgreNewt_Main_d.lib(OgreNewt_Body.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>OgreNewt_Main_d.lib(OgreNewt_CollisionPrimitives.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>OgreNewt_Main_d.lib(OgreNewt_BasicFrameListener.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>OgreNewt_Main_d.lib(OgreNewt_Debugger.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>Line3D.obj : 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 "public: __thiscall Line3D::Line3D(void)" (??0Line3D@@QAE@XZ)
1>OgreNewtonApplication.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>OgreNewtonFrameListener.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>OgreNewt_Main_d.lib(OgreNewt_World.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall Ogre::MemoryManager::setOwner(char const *,unsigned int,char const *)" (__imp_?setOwner@MemoryManager@Ogre@@QAEXPBDI0@Z)
1>OgreNewt_Main_d.lib(OgreNewt_CollisionPrimitives.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) private: void * __thiscall Ogre::MemoryManager::op_new_vc(unsigned int,unsigned int)" (__imp_?op_new_vc@MemoryManager@Ogre@@AAEPAXII@Z) referenced in function "void * __cdecl operator new[](unsigned int)" (??_U@YAPAXI@Z)
1>OgreNewt_Main_d.lib(OgreNewt_CollisionPrimitives.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) private: void __thiscall Ogre::MemoryManager::op_del_vc(void *,unsigned int)" (__imp_?op_del_vc@MemoryManager@Ogre@@AAEXPAXI@Z) referenced in function "void __cdecl operator delete[](void *)" (??_V@YAXPAX@Z)
1>../Bin/Debug\Demo01_TheBasics.exe : fatal error LNK1120: 6 unresolved externals
1>Build log was saved at "file://z:\OgreNewt\demos\Demo01_TheBasics\Build\Debug\BuildLog.htm"
1>Demo01_TheBasics - 47 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


... you can be pleased, because I have had the same error and have solved it.

This error appears because the demo uses the release library of Ogre(OgreMain.lib) and the debug library of OgreNewt(OgreNewt_Main_d.lib). Your compiler don't like it, if you use two different versions of the libraries. So replace the release library "OgreMain.lib" with the debug library "OgreMain_d.lib" in your project options and your compiler will be satisfied and compile the demo, if you have made no other mistake. ;-)

I have thougt that a lot of people will get this error and not founding the answer in this forum, I made up my mind to post the solution. I'm hopeful that this post is appropriate.

swakdaddy

15-05-2006 01:07:06

THANK YOU SO MUCH!!!!

That saved me hours of hunting (ok, maybe not hours, but a lot of time).

Too bad the demo project crashes at runtime now....back to the drawing board....at least I don't have to figure this one out. Thanks for posting!

swakdaddy

15-05-2006 01:24:55

OK, so to continue the preventative medicine here.....If you find that the program crashes after h3x0g3n's solution fixes the linking problems, you may find (like me) that the program simply wont work with OgreMain_d.lib and I had to move it to the release directory to use OgreMain.lib.

Yes, it's a quick hack, but for learning purposes, it works.

h3x0g3n

15-05-2006 15:43:24

I'm happy of being helpful ;-)