Dev IL链接和编译错误(0xc000007b)

时间:2014-11-28 00:33:02

标签: c++ opengl linker assimp devil

我正在努力使这个项目有效Link to Lighthouse


首先是一堆信息:

我正在使用: Windows 7 Pro 64位和Visual Studio 2013 Ultimate
(我认为是默认设置的项目是32位)

关于图书馆:
DevIL:我下载并安装了这个DevIL 1.7.8 SDK for 32-bit Windows Assimp: assimp - 3.0.1270-sdk

项目设置:
平台:有效(Win32)
配置:所有配置

图书馆目录:
C:\ assimp - 3.0.1270-SDK \ lib中\ assimp_release-dll_win32; C:\魔鬼\ lib中

包含目录:
C:\ assimp - 3.0.1270-SDK \包括; C:\魔鬼\包括

图书馆目录:
C:\ assimp - 3.0.1270-SDK \ lib中\ assimp_release-dll_win32; C:\魔鬼\ lib中

C / C ++ - >一般 - >其他包含目录:
C:\ assimp - 3.0.1270-SDK \包括; C:\魔鬼\包括

链接器 - >输入 - >附加依赖:
%(AdditionalDependencies)



好的,现在当我编译项目时,我收到错误:

Application was unable to start correctly(0xc000007b)
The program '[16912] AssimpModelImport Demo.exe' has exited with code -1073741701 (0xc000007b)

通过注释掉代码行(无法调试),我发现了错误发生的位置:

#define GLEW_STATIC
#include <GL/glew.h>
#include <GL/freeglut.h>

#include <IL\il.h>


#include "assimp/Importer.hpp"
#include "assimp/PostProcess.h"
#include "assimp/Scene.h"

#include <math.h>
#include <fstream>
#include <map>
#include <string>
#include <vector>


#ifdef _WIN32
#pragma comment(lib,"glew32.lib")
#pragma comment(lib,"assimp.lib")
#pragma comment(lib, "DevIL.lib")
#endif

[...] bunch of functions [...]

int main(int argc, char **argv) {
    [...]
        IlInit(); // DevIL initialisation // ERROR
    [...]   
}

任何人都知道这里发生了什么?我怎么解决这个问题呢? 我想使用此代码的一部分在我的OpenGL 3.3项目中渲染3D * .OBJ模型。


如果需要,这是我的调试日志:

'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Users\XXXXX\Desktop\L3DAssimpModelImport Demo\Release\AssimpModelImport Demo.exe'. Symbols loaded.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Program Files\Bitdefender\Antivirus Free Edition\avc3\avc3_sig_271\avcuf32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Users\XXXXX\Desktop\L3DAssimpModelImport Demo\Release\freeglut.dll'. Module was built without symbols.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\lpk.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\usp10.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\opengl32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\glu32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ddraw.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dciman32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\setupapi.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\devobj.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dwmapi.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp120.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcr120.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Users\XXXXX\Desktop\L3DAssimpModelImport Demo\Release\Assimp32.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll'. Cannot find or open the PDB file.
'AssimpModelImport Demo.exe' (Win32): Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll'. Cannot find or open the PDB file.
The program '[19340] AssimpModelImport Demo.exe' has exited with code -1073741701 (0xc000007b).

1 个答案:

答案 0 :(得分:2)

首先,错误不是编译器或链接器错误。该错误是运行时错误。

您正在运行32位应用程序,但SysWOW64目录表示您正在尝试为32位程序加载64位组件。这当然行不通。

错误可能有多种原因,但您应该检查的第一个原因是您的项目设置。可能正在使用某处x64,导致遇到对64位DLL的依赖。

如果所有其他方法都失败了,请使用Dependency Walker http://www.dependencywalker.com/

等程序

并检查您的EXE文件以确保它是32位可执行文件,并查看相关DLL。