【问题标题】:MinGW + SFML giving error codeMinGW + SFML 给出错误代码
【发布时间】:2015-06-26 06:26:21
【问题描述】:

我正在使用 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 版本,但均未成功。有什么想法吗?

干杯

【问题讨论】:

    标签: c++ mingw clion


    【解决方案1】:

    我自己也遇到过类似的问题,只有在 CLion IDE 之外启动应用程序后,您才会真正收到信息性错误,即您缺少 DLL。

    如果您使用动态库,则必须将 DLL 复制到工作目录或应用程序旁边。如果您想使用音频模块,也不要忘记复制 SFML 附带的 OpenAL DLL。

    我真的希望 JetBrains 能够在他们的 IDE 中更好地报告丢失的 DLL 错误。

    【讨论】:

      猜你喜欢
      • 2020-05-05
      • 1970-01-01
      • 2013-06-07
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 2020-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多