c++ - ¿Cómo hacer que AssImp funcione correctamente?
dll runtime-error (1)
He estado tratando de hacer esto durante aproximadamente una semana sin ningún bien de todos modos. Estoy construyendo un .dll (UNDONE Engine .dll) que depende de Assimp para cargar modelos. El .dll compila y enlaza sin problemas, pero cuando trato de usarlo con alguna aplicación, aparece el siguiente error:
''Test_Game.exe'' es la aplicación que hice que usa la biblioteca .dll que está usando assimp.
Descargué assimp desde el repositorio de sourceforge. Obtuve el SDK de la versión 3.0 para Windows, lo instalé y hice lo que fuera necesario para vincular el proyecto.
Así es como se ve el directorio con el .exe:
He incluido la bitness correcta de la lib, es decir versiones de 32 bits.
Por que no funciona? ¿Hay algún error interno dentro de Assimp que me impida usarlo? ¿O hay algo que me falta? ¿Está causando problemas porque lo estoy usando desde un dll? ¿Me puede ayudar a seguir los pasos para instalar y usar correctamente? Yo uso visual studio 13.
EDITAR
Después de ejecutar Dependency walker sobre mi exe, obtengo esto:
Y tengo muy poca idea de lo que eso significa, pero, supongo, ¿significa que assimp.exe tiene algunas funciones indefinidas?
Lo que depende de depends.exe es que la tabla de importación de undone_engine.dll incluye una entrada para AssImp.exe, que incluye una entrada para la función ??0Importer@AssImp@@QAE@XZ
y algunos amigos. Windows luego espera encontrar las funciones ??0Importer@AssImp@@QAE@XZ
y amigos en la tabla de exportación de AssImp.exe.
Depende también le está diciendo que no hay nada en la tabla de exportación de AssImp.exe, lo cual no es sorprendente, ya que los exe casi no exportan nada. Curiosamente, también le dice que assimp.exe importa assimp32.dll.
Probablemente estés intentando vincular con assimp32.lib, no assimp.lib. (@Dirk insinúa esto en los comentarios, sospecho que lo ha enganchado). ¿Tiene un assimp32.lib con el que podría intentar vincular en lugar de assimp.lib?
Me pregunto si AssImp32.dll importa código de la biblioteca estática ButtGremlin.lib? / doce años