MinGW + SFML 给出错误代码
MinGW + SFML giving error code
我正在使用 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 库和 updating/changing MinGW 版本,但都没有成功。有什么想法吗?
干杯
我自己 运行 遇到了类似的问题,只有在 CLion 之外启动应用程序后 IDE 您实际上会收到信息性错误,即您缺少动态链接库
如果您使用动态库,则必须将 DLL 复制到工作目录或应用程序旁边。如果您想使用音频模块,也不要忘记复制 SFML 附带的 OpenAL DLL。
我真的希望 JetBrains 能在他们的 IDE.
中更好地报告丢失的 DLL 错误
我正在使用 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 库和 updating/changing MinGW 版本,但都没有成功。有什么想法吗?
干杯
我自己 运行 遇到了类似的问题,只有在 CLion 之外启动应用程序后 IDE 您实际上会收到信息性错误,即您缺少动态链接库
如果您使用动态库,则必须将 DLL 复制到工作目录或应用程序旁边。如果您想使用音频模块,也不要忘记复制 SFML 附带的 OpenAL DLL。
我真的希望 JetBrains 能在他们的 IDE.
中更好地报告丢失的 DLL 错误