Dev IL linking and compiling error (0xc000007b)

4.7k views Asked by At

I'm trying to make this project work Link to Lighthouse



First a bunch of info:

I'm using: Windows 7 Pro 64-bit and Visual Studio 2013 Ultimate
(Project on default settings which I believe is 32-bit)

About libraries:
DevIL: I downloaded and installed this one DevIL 1.7.8 SDK for 32-bit Windows
Assimp: assimp--3.0.1270-sdk

Project settings:
Platform: Active(Win32)
Configuration: All Configurations

Library Directories:
C:\assimp--3.0.1270-sdk\lib\assimp_release-dll_win32;C:\DevIL\lib

Include Directories:
C:\assimp--3.0.1270-sdk\include;C:\DevIL\include

Library Directories:
C:\assimp--3.0.1270-sdk\lib\assimp_release-dll_win32;C:\DevIL\lib

C/C++ -> General -> Additional Include Directories:
C:\assimp--3.0.1270-sdk\include;C:\DevIL\include

Linker -> Input -> Additional Dependencies:
%(AdditionalDependencies)



OK, now when I compile my project I receive error:

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

By commenting out lines of code (cant debug) I've found out where the error occurs:

#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
    [...]   
}

Anyone knows what's happening here? How can I solve this?
I want to use parts of this code to render 3D *.OBJ models in my OpenGL 3.3 project.


If it's needed, here's my debug log:

'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

There are 1 answers

1
PaulMcKenzie On BEST ANSWER

First, the error is not a compiler or linker error. That error is a runtime error.

You are running a 32-bit application, but the SysWOW64 directory indicates you're attempting to load 64-bit components for the 32-bit program. This of course will not work.

There could be several reasons for the error, but the first one you should inspect are your project settings. Maybe somewhere x64 is being used, causing a dependency on the 64-bit DLL's to be encountered.

If all else fails, please use a program such as Dependency Walker http://www.dependencywalker.com/

and inspect your EXE file to ensure it is a 32-bit executable, and also to view the dependent DLL's.