Ошибка связывания и компиляции Dev IL (0xc000007b)

Я пытаюсь заставить этот проект работать Ссылка на маяк


Сначала куча информации:

Я использую:
64-разрядная версия Windows 7 Pro и Visual Studio 2013 Ultimate

(Проект с настройками по умолчанию, который я считаю 32-битным)

О библиотеках:
DevIL: Я скачал и установил этот DevIL 1.7.8 SDK для 32-битных Windows
Assimp: assimp — 3.0.1270-SDK

Настройки проекта:
Платформа: Активный (Win32)
Конфигурация: Все конфигурации

Библиотечные каталоги:
C: \ assimp — 3.0.1270-SDK \ Lib \ assimp_release-dll_win32; C: \ DevIL \ Lib

Включить каталоги:
C: \ assimp — 3.0.1270-SDK \ включают в себя; C: \ DevIL \ включают

Библиотечные каталоги:
C: \ assimp — 3.0.1270-SDK \ Lib \ assimp_release-dll_win32; C: \ DevIL \ Lib

C / C ++ -> Общие -> Дополнительные каталоги включения:
C: \ assimp — 3.0.1270-SDK \ включают в себя; C: \ DevIL \ включают

Линкер -> Ввод -> Дополнительные зависимости:
% (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
[...]
}

Кто-нибудь знает, что здесь происходит? Как я могу решить это?
Я хочу использовать части этого кода для рендеринга моделей 3D * .OBJ в моем проекте OpenGL 3.3.


Если это необходимо, вот мой журнал отладки:

'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

Решение

Во-первых, ошибка не является ошибкой компилятора или компоновщика. Эта ошибка является ошибкой во время выполнения.

Вы запускаете 32-битное приложение, но SysWOW64 Каталог указывает, что вы пытаетесь загрузить 64-битные компоненты для 32-битной программы. Это, конечно, не будет работать.

Причин может быть несколько, но в первую очередь следует проверить настройки проекта. Может где то x64 используется, вызывая зависимость от 64-битных библиотек DLL.

Если ничего не помогает, пожалуйста, используйте программу, такую ​​как Dependency Walker http://www.dependencywalker.com/

и проверьте ваш EXE-файл, чтобы убедиться, что это 32-битный исполняемый файл, а также для просмотра зависимых DLL.

2

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector