我正在使用SFML和MinGW来制作游戏。我正在使用MinGW,因为我已经习惯使用CLion作为我的IDE,因为我已经习惯了JetBrains套件。无论如何,我已经安装了MinGW 4.9.2并获得了相应的SFML并将SFML_ROOT添加到我的环境变量中。现在,无论何时我运行它都会给我:Process finished with exit code -1073741515 (0xC0000135)
,应用程序显然无法启动。
我的CMakeLists如下:
cmake_minimum_required(VERSION 3.2)
project(airport-simulator)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES
main.cpp)
add_executable(${PROJECT_NAME} ${SOURCE_FILES} main.cpp)
# SFML
set(SFML_ROOT "${CMAKE_SOURCE_DIR}/sfml")
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
find_package(SFML 2 REQUIRED system window graphics network audio)
if (SFML_FOUND)
include_directories(${SFML_INCLUDE_DIR})
target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES})
endif()
我的main.cpp是:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(800, 600), "Airport Simulator");
sf::CircleShape shape(80);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed) window.close();
}
window.clear(sf::Color::Black);
window.draw(shape);
window.display();
}
return 0;
}
我的文件结构:
Project
|-- .idea
|-- cmake
| `-- FindSFML.txt
|-- sfml
|-- .gitignore
|-- CMakeLists.txt
`-- main.cpp
我尝试更换SFML库并更新/更改MinGW版本都没有成功。有什么想法吗?
干杯
答案 0 :(得分:3)
我自己也遇到了类似的问题,只有在CLion IDE之外启动应用程序之后,您实际上才会收到信息错误,这就是您错过了DLL。
如果使用动态库,则必须将DLL复制到工作目录或应用程序旁边。如果您想使用音频模块,也不要忘记复制SFML附带的OpenAL DLL。
我真的希望JetBrains可以在IDE中更好地报告丢失的DLL错误。