2017-01-20 1 views
1

donc j'ai frappé une impasse, je simplying essaie d'exécuter ce qui suit:allegro ne fonctionne pas avec 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) 

sortie:

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

Process finished with exit code -1073741701 (0xC000007B) 

J'utilise allegro-mingw-gcc6.2.0-x64-dynamic-5.2.2.zip de here et ont copyied allegro-5.2.dll, cygintl-1.dll & cygintl-2.dll à

C : \ Utilisateurs \ duck-.CLion2016.2 \ system \ cmake \ généré \ allegro test-50fbd97d \ 50fbd97d \ Debug \

où le programme est exécuté. J'ai installé .NET Framework 4.6.2. Est-ce que je manque quelque chose? Bravo à l'avance.

+1

Cette erreur se produit si vous chargez une DLL 32 bits à partir d'un programme 64 bits, et inversement. Assurez-vous que les modules de votre application sont tous en 64 bits et que Windows trouve les bonnes versions. Notez que Windows fait correspondre un nom lors de la recherche de DLL et la première DLL qui correspond, indépendamment du bit-ness de la DLL, tentera d'être chargée. – PaulMcKenzie

Répondre

0

Étant donné que vous construisez le programme dans une configuration de débogage, vous devez inclure allegro-debug-5.2.dll, et pas seulement allegro-5.2.dll.