(AccessViolationException - missing DLL) [SOLVED]

CodeKrash

05-07-2010 10:24:05

and for the intellectual effort contribution goes, can someone PLEASE tell me what this means!!!???>

edit: ahh ya i suppose a knowledge of the cheerios box :



private void addCheeriosBox()
{
if (OgreWindow.Instance.ShuttingDown) return;
try
{
string name = Helpers.RandomString(8, ref ran);
Entity ent_zelbox = OgreWindow.Instance.mSceneMgr.CreateEntity(name, "cheerios.mesh");
ent_zelbox.CastShadows = true;
SceneNode sn_zelbox = OgreWindow.Instance.mSceneMgr.RootSceneNode.CreateChildSceneNode(name);
sn_zelbox.AttachObject(ent_zelbox);
sn_zelbox.Position -= new Mogre.Vector3((float)Helpers.RandomInt(0, 20, ref ran), (float)Helpers.RandomInt(0, 20, ref ran), (float)Helpers.RandomInt(0, 20, ref ran));
sn_zelbox.Rotate(new Quaternion(.28f, 0f, -.95f, .16f));
ZelBoxesEnts.Add(ent_zelbox);
ZelBoxesSNs.Add(sn_zelbox);
_myBoxes.Add(name);
}
catch { }
}

zarfius

16-07-2010 01:26:41

There's a good chance your program can't find one of the DLL's it's looking for or one of your DLL's is the wrong version.

The Mogre DLL is built against a particular OgreMain.dll and therefore it needs to be able to find it. The make sure of this both of the DLL's should be in the same directory as the executable. Unfortunately, Visual Studio is not very good at working this out so you may need to play with your project settings or move some files around.

One way of seeing what's going on is something like this:

This should show you where your program is currently looking for the DLL's.
MessageBox.Show(Directory.GetCurrentDirectory());

One way to fix it is change the current directory to your executable directory and make sure all your DLL's are in that directory. Personally I prefer to have my code compiled to a different directory to the default one, you can set this up in project settings.
Directory.SetCurrentDirectory(Application.StartupPath);

Beauty

19-07-2010 11:26:49

and for the intellectual effort contribution goes, can someone PLEASE tell me what this means!!!???>

Hi codeKrash,

unfortunately I can't help you, because I don't understand your problem.
There is a crash with a code snippet, but you don't tell us details.

Do you use a modified example from the MogreSDK or the wiki basic tutorials or did you write your application yourself?

Did you install the MogreSDK?
If not - where did you get the binary files? (Maybe you forgot important dll files?)
The MogreSDK is a good way to start with Mogre. It installs the needed depencies and contains all needed dll files (with the right version depencies).
After installing the SDK you can copy all content of the binary directory to the binary directory of your application.
Then link to the Mogre.dll file in your appliaction binary directory. So all depencies should be found.

Apart from these files you need the newest DirectX 9 release.
Also you need either the Visual C++ 2008 redistributable package or Visual Studio 2008 including Service Pack 1.
The MogreSDK installer checks/installs this system depencies.

Are there warnings or errors in the file ogre.log? If yes, please post it.

CodeKrash

23-12-2010 01:02:52

Sorry for digging this up again, but I had fixed it, and it turned out to be the suggested missing dll. Just in case anyone uses this thread for the same thing. Thanks people for your help.

Beauty

26-12-2010 10:40:00

Don't worry about digging out older threads.
Thanks for your feedback!

What are your experiences with Mogre?
Do you had heavy problems or was it easy to you to work with Mogre?
What do you think about after a half year of usage?

It would be great if you write your experiences in the forum topic Feature requests and wish list. (Please post it there, not here.)
Additionally you can look to the first post of that forum topic and tell us, which Mogre improvements would be important for you.

hedphelym

26-12-2010 12:01:39

and from my experience - after installing SDK and running it, you need to set it to "release", if not it cannot find correct dll's and produce the error message above. (I also noticed that in his screenshot he had debug mode enabled).