MOGRE.dll missing

AndreR

22-07-2011 21:59:48

Hey guys,
I tried to get MOGRE to run, but it doesn't work and I can't find any help. I use a x64 machine with Windows 7 and VC# 2010 Express. At first, I tried the SDK, but that was a complete fail: Not any single demo on the browser worked. When I tried to start one, that Windows message came up, that the application stopped working. As a reason, it told me, thet there should be anything wrong with the KERNELBASE.DLL. Then I tried the specialized VC# 2010 version, which I found here on the forums. However, this one always tells me, that there was a FileNotFoundException when I'm trying to compile the sample project. It sais that it cannot find the Mogre.dll file. I checked it twice and it is there, so there must be any other wierd error. I have also deleted the link and added the dll again afterwards, but still not a solution.

Die Datei oder Assembly "Mogre.dll" oder eine Abhängigkeit davon wurde nicht gefunden. Das angegebene Modul wurde nicht gefunden.
The file or assembly "Mogre.dll" or one of it's dependencies could not be found. The called module could not be found.


I would be really happy if you could help me!

Thanks in advance!
Andre

tafkag

28-07-2011 15:58:12

Did you set the project settings from "Any CPU" to "x86"?

AndreR

28-07-2011 18:01:46

Yes, I did. But thanks for reminding me, because I solved that problem already! Well, if you have the same issue, this might also be the solution for you:

I missed some DLLs which were not part of the packages. You need more then just the MOGRE.DLL in the game folder. There are three additional DLLs that you need to copy from the SDK release directory. Unfortunately I can't tell you which they were exactly.

Beauty

29-07-2011 23:27:04

Hi AndreR,

I'm sorry that you have trouble with your startup.

At first, I tried the SDK, but that was a complete fail: Not any single demo on the browser worked.
The SDK installer checks if all needed depencies are already installed. If not, it offers to download and install them.
Did the installer asked you? (If yes, did you install them?)
The examples has to be build by a .cmd file in the SDK. I suppose this will be done by the SDK installer. If not, then you need to call this build command file manually.

anything wrong with the KERNELBASE.DLL.
Strange - I never heard about an error for missing this file.

Then I tried the specialized VC# 2010 version, which I found here on the forums.
Strange.

Can you please try this:
Download one version of the Mogre Wiki Tutorial Framework.
Just open the .sln file and run the application.
If you have an "bad image format exception", set the build setting from "any CPU" to "x86". (I just recognized that this setting is still not fixed in the VS2008 C# archive.)
When all Mogre depencies are installed, you should get a black window with the Ogre logo.

Perhaps you have only Visual Studio 2010.
In this case you need to install "vcredist" (Visual C++ Redistributable) of VS 2008, because it's needed to run *.dll files which were compiled by VS 2008.

I hope I could help a little bit.

laurian

18-09-2012 18:23:13

Hi,
I have a similar issue:
- x64 machine with Windows 7 and VC# 2010 Express
- Not any single demo on the browser worked in debug

I copied MogreFramework.dll, MogreNewt.dll, MogreNewt.xml, Plugin_ParticleFX.dll and OgreMain.dll from Release to Debug and I get now a bit further but it still fails to run in debug: it stops at "Loading library .\RenderSystem_Direct3D9_d":
OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library .\RenderSystem_Direct3D9_d. System Error: The application has failed to start because its side-by-side configuration is incorrect.
in DynLib::load at ..\..\ogre\OgreMain\src\OgreDynLib.cpp (line 91)

Is it possible to debug the demo projects?

Thanks for any help!
Laurian

Tubulii

18-09-2012 19:16:17

I copied MogreFramework.dll, MogreNewt.dll, MogreNewt.xml, Plugin_ParticleFX.dll and OgreMain.dll from Release to Debug and I get now a bit further but it still fails to run in debug: it stops at "Loading library .\RenderSystem_Direct3D9_d":
OGRE EXCEPTION(7:InternalErrorException): Could not load dynamic library .\RenderSystem_Direct3D9_d. System Error: The application has failed to start because its side-by-side configuration is incorrect.
in DynLib::load at ..\..\ogre\OgreMain\src\OgreDynLib.cpp (line 91)

Check out this page.
Exerpt: The machine is missing the correct C++ runtime components for your type of system. (x86 or x64).
You have to install it: Beauty linked some in an older post

Is it possible to debug the demo projects?
Yes, it is possible but only if you have Visual Studio (not the Express editions).
You can "open" any executable (or attach to any process) and debug it.

I tried to get MOGRE to run, but it doesn't work and I can't find any help. I use a x64 machine with Windows 7 and VC# 2010 Express. At first, I tried the SDK, but that was a complete fail: Not any single demo on the browser worked. When I tried to start one, that Windows message came up, that the application stopped working. As a reason, it told me, thet there should be anything wrong with the KERNELBASE.DLL. Then I tried the specialized VC# 2010 version, which I found here on the forums. However, this one always tells me, that there was a FileNotFoundException when I'm trying to compile the sample project. It sais that it cannot find the Mogre.dll file. I checked it twice and it is there, so there must be any other wierd error. I have also deleted the link and added the dll again afterwards, but still not a solution.
Maybe you mixed release and debug build? And you have to copy nearly all files from the sdk to your game's root folder. And check if you installed the correct C++ runtime components (look above).
And you could download the Dependency Walker and open Ogremain.dll and Mogre.dll with it. It will tell you if there are any missing dependencies.

Edit:
Just for clarity:
Usually the "_d" suffix means that the dll/exe has been compiled in Debug mode. The difference between relaease and debug build in c++ much bigger than in .Net. Ogre is about 4 times faster if you use release dll but debugging is nearly impossible.

And the C++ runtime components are not an problem of ogre in general. This has been the choice of Microsoft. The user (and not microsoft) has to ensure that he installed all runtime components. In this case more installed C++ runtime components are better than less ;) .

laurian

18-09-2012 20:23:30

Hi,
Thanks for the quick answer!

I just installed the c++ redistribuable package (only x86 as stated in the post). I tried again th debug build and it didn't work. I just checked my installed programs in the control panel and I have all kinds of Microsoft Visual C++ redistribuables: 2005, 2008, 2010, x64 and x86. I have 13 of these!

Indeed I mixed debug and release DLLs because the Debug folder of the demos (C:\MogreSDK\bin\Debug) misses a few DLLs. MogreFramework.dll, MogreNewt.dll, Plugin_ParticleFX.dll and OgreMain.dll are release versions.

I used the dependency walker and it gave me a few errors, even for the ogremain.dll in the release folder although the examples in release do work fine.

I just messed with the files in the Debug directory and found that the demo worked in debug when I deleted (or renamed) the plugins.cfg file. That file contained:
# Defines plugins to load

# Define plugin folder
PluginFolder=.

# Define plugins
Plugin=RenderSystem_Direct3D9_d
Plugin=RenderSystem_GL_d
Plugin=Plugin_ParticleFX_D
Plugin=Plugin_BSPSceneManager_d
Plugin=Plugin_OctreeSceneManager_d
Plugin=Plugin_CgProgramManager_d


I can now run the examples in debug but they won't use any "_d" DLL...

smiley80

18-09-2012 20:46:06

The debug dlls require the debug VC++ runtime, which you only get if you have VC++ 2010 Express or the full Visual Studio installed.
If you don't need to debug into Ogre, just use the release binaries and edit plugins.cfg.