【问题标题】:Can't see a new window after running SFML graphics运行 SFML 图形后看不到新窗口
【发布时间】:2017-08-10 20:24:05
【问题描述】:

我尝试按照this 教程使用 Clion 测试 SFML。我以 SFML 示例进入最后一部分。它编译没有错误,它看到了 SFML,但是当我运行实际程序时,我得到的只是:

C:\Users\yurys\CLionProjects\SFMLDemo\cmake-build-debug\SFMLDemo.exe

Process finished with exit code -1073741515 (0xC0000135)

根据教程,我想看到new window

我将 MinGW32 与 gcc 5.3.0 一起使用,因此我安装的 SFML 版本与之匹配。我安装了另一个版本以与 Visual Studio 2017 一起使用。

我的 CMake 文件如下:

cmake_minimum_required(VERSION 3.6)
project(SFMLDemo)

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

set(SOURCE_FILES main.cpp)
add_executable(SFMLDemo ${SOURCE_FILES})

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
find_package(SFML REQUIRED system window graphics network audio)
link_directories("C:/Clion_SFML/") #Path to the SFML Libraries
if (SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    target_link_libraries(SFMLDemo ${SFML_LIBRARIES})
endif()

代码:

#include <SFML/Graphics.hpp>


int main() {

    sf::RenderWindow window(sf::VideoMode(640,480,32),"Hello SFML");

    sf::Font font;
    font.loadFromFile("OpenSans-Bold.ttf");

    sf::Text text("Hello World",font,11);
    text.setCharacterSize(32);
    text.setPosition(window.getSize().x/2 - text.getGlobalBounds().width/2,
                     window.getSize().y/2 - text.getGlobalBounds().height/2);


    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(text);
            window.display();
        }
    }
    return 0;
}

【问题讨论】:

  • 可执行文件目录中有 SFML .dll 吗?
  • @Bumrang 不,所有 SFML 库都在我的 C:\ 驱动器上。
  • @Bumrang 谢谢修复。

标签: c++ graphics sfml clion


【解决方案1】:

已在 cmets 中回答,但我会将其作为答案提交,以便其他人更容易看到:

在这种情况下,SFML 是动态链接的。确保 SFML 所需的正确 .DLL 与可执行文件位于同一目录中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 2012-12-16
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多