Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get AssImp to work properly?

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?

like image 910
The Light Spark Avatar asked Mar 06 '15 11:03

The Light Spark


1 Answers

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

like image 191
lyngvi Avatar answered Nov 02 '22 03:11

lyngvi