The notorious DLL issues

Hello!

I believe this has already been posted here several times (yes, I did search for it), but I’ve got a problem with running a successfully compiled Hello World program. Everytime I try to run it, a message box pops out and says

That’s nothing astonishing, really, but what I think makes me different from other posters is that I do have my PATH variable set to PandaInstallDir\bin.

Not to be accused of having a lack of initiative, I also tried to copy all of the DLLs (together with the etc directory) into compiler´s output directory, and while it worked, I experienced a mysterious crash (exception: access violation exception accessing blah blah).

Does anybody have any idea what could be wrong? I’m using VS 2013 Express with Win8.1, if it matters.

Undernote: All of the samples, as well as the Hello World for python work perfectly.

What SDK are you using? You should just be able to install the SDK, set up Visual Studio include directories and link lib directories, add the libs in the linker and it should work ok. You don’t need to move the DLL’s.

Cheers,
Zobbo

I’m using the 1.8.1. Yes, I did all of these things, the compilation was successful.
But, I tried to restart my computer and things got to work without moving the DLLs.

Yet I have some problems here. When I start the compiled output, a console pops out for a second and it’s gone.
I tried to debug it and I got this in my console:
prntscr.com/68vfhw

Sometimes it’s replaced with the Access Violation Exception (at 0xc0000005 - kernel, huh?) I already mentioned before.

Ok that’s weird, I think the stock advice would be to use the devel build. They’re built for VS2010, 2013 isn’t officially supported by Panda, but you can just set 2013 to use the 2010 compiler. The devel libs are pre-built for Release x64 with MD switch. I dropped 1.8.1 because of problems I had with any compiler after 2008 (which is the version 1.8.1 is built for). I’m just VS2010 express with the devel build myself, though I have 2013 I didn’t see the need to use it for this.

Cheers,
zobbo

Remove _UNICODE definitions from your project configuration. Also, build in Release mode.

But you will need to use a compatible compiler. Panda3D 1.8.1 has not been compiled with VC 2013.

That means I won’t be able to use C++11 :frowning:

I tried to do so, without success. It’s apparently some kind of garbage.

I do.

Would it take too much time to compile it with 2013? Could I do it myself?

I’m not sure. It might require you to recompile the thirdparty packages with VC 2013 as well, which can be a laborious process. You’re free to try and compile Panda3D with VC 2013 - you’d probably need to make some modifications to makepanda in order to make that work, and I suggest using the latest Git (combined with the thirdparty packages for 2010) as a starting point rather than 1.8.1:
github.com/panda3d/panda3d/

I gave it a go, but I had to change a bit of code as well as the script, and I didn’t get very far compiling the third party libraries. But I think it’s doable. My worry was debugging later on, if there are unofficial changes in the engine itself and things start breaking it would cause difficulties.

You can always submit your changes back as a patch. :slight_smile:

Yeah good point. I might give it a go again.