How to get AssImp to work properly?
Asked Answered
S

1

12

I have been trying to do this for about a week with no good anyhow. I am building a .dll (UNDONE Engine .dll) that depends upon Assimp to load models. The .dll compiles and links with no problems at all, but when I try to use it with some application, I get the following error:

What is this?

'Test_Game.exe' is the application I made that uses the .dll library that is using assimp.

I downloaded assimp from the sourceforge repository. I got the version 3.0 SDK for windows, installed it and I did do whatever was nessesary to get the project linked.

Here is how the directory with the .exe looks like:

enter image description here

I have included the right bitness of the lib, that is 32 bit versions.

Why does it not work? Is there some internal bug inside Assimp which prevents me from using it? Or is there something I am missing? Is it causing problems because i am using it from a dll? Can you please get me through the steps to install and use properly? I use visual studio 13.

EDIT

After running Dependency walker over my exe, I get this:

enter image description here

And I have very less idea of what that means, but, just guessin, does it mean that assimp.exe has some undefined functions?

Shonna answered 6/3, 2015 at 11:51 Comment(4)
why does your engine dll has a dependency to assimp.exe? Shouldn't it be just assimp32.dll?Bregenz
@dirk I have no idea why. I did not build the assimp library myself.Shonna
but you include the library. Thats probably where the problem is. So check where you add the dependency in your IDE.Bregenz
I simple add the library includes and lib directories to my include and library directories in the project properties. I use the assimp library functions. why it then asks for the assimp.exe, i can't tell from there..Shonna
E
1

What depends.exe is telling you is that undone_engine.dll's import table includes an entry for AssImp.exe, which includes an entry for the function ??0Importer@AssImp@@QAE@XZ and some friends. Windows then expects to find the functions ??0Importer@AssImp@@QAE@XZ and friends in the export table of AssImp.exe.

Depends is also telling you that there is nothing in the export table of AssImp.exe, which is unsurprising, as exe's seldom export anything. Interestingly, it's also telling you that assimp.exe imports assimp32.dll.

You're probably intending to link with assimp32.lib, not assimp.lib. (@Dirk hints at this in the comments; I suspect he's nailed it.) Do you have an assimp32.lib that you could try linking against instead of assimp.lib?

I wonder if AssImp32.dll imports code from the static library ButtGremlin.lib? /twelveyearold

Erigeron answered 10/6, 2015 at 21:48 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.