2017-01-20 4 views
1

поэтому я ударил в тупик, я simplying пытается запустить следующее:аллегро не работает с clion (0xc000007b)

main.cpp:

#include <iostream> 
#include <allegro5/allegro.h> 

int main(int argc, char **argv) { 
    std::cout << "Hello, World!" << std::endl; 
    al_init(); 
    std::cout << "hi" << std::endl; 
    return 0; 
} 

CMakeList.txt:

cmake_minimum_required(VERSION 3.6) 
project(allegro_test) 

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 

set(SOURCE_FILES main.cpp) 
SET(ALLEGRO_ROOT C:/Users/duck-/workspace/cpp/recources/allegro/) 

INCLUDE_DIRECTORIES(${ALLEGRO_ROOT}/include) 
LINK_DIRECTORIES(${ALLEGRO_ROOT}/lib) 

add_executable(allegro_test ${SOURCE_FILES}) 

TARGET_INCLUDE_DIRECTORIES(allegro_test PUBLIC ${ALLEGRO_ROOT}) 
TARGET_LINK_LIBRARIES(allegro_test allegro) 

выход:

"C:\Users\duck-\.CLion2016.2\system\cmake\generated\allegro test-50fbd97d\50fbd97d\Debug\allegro_test.exe" 

Process finished with exit code -1073741701 (0xC000007B) 

Я использую allegro-mingw-gcc6.2.0-x64-dynamic-5.2.2.zip из here и copyied аллегро-5.2.dll, cygintl-1.DLL & cygintl-2.dll к

C : \ Users \ duck-.CLion2016.2 \ system \ cmake \ generated \ allegro test-50fbd97d \ 50fbd97d \ Debug \

где программа выполнена. Я установил .NET Framework 4.6.2. Я что-то упускаю? приветствия заранее.

+1

Эта ошибка возникает, если вы загружаете 32-разрядную DLL из 64-разрядной программы и наоборот. Убедитесь, что вы - модули приложения, все 64-разрядные и что Windows находит правильные версии. Обратите внимание, что Windows выполняет сопоставление имени при поиске DLL, и первая DLL, которая соответствует независимо от бит-библиотеки DLL, будет пытаться загрузить. – PaulMcKenzie

ответ

0

Поскольку вы создаете программу в конфигурации Debug, вам нужно будет включить allegro-debug-5.2.dll, а не только allegro-5.2.dll.

Смежные вопросы