首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SFML在Windows上不能与CLion一起工作

SFML在Windows上不能与CLion一起工作
EN

Stack Overflow用户
提问于 2018-01-01 00:15:40
回答 1查看 1.1K关注 0票数 0

我想在CLion中运行以下简单的C++ SFML应用程序,但当我尝试这样做时,总是得到错误消息Test2.exe has stopped working

main.cpp

代码语言:javascript
复制
#include <SFML/Graphics.hpp>
int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

while (window.isOpen())
{
    sf::Event event;
    while (window.pollEvent(event))
    {
        if (event.type == sf::Event::Closed)
            window.close();
    }

    window.clear();
    window.draw(shape);
    window.display();
}

return 0;
}

这可能是CMake的问题,但我没有从CLion得到任何错误消息,所以我认为SFML被正确地找到了。

CMakeLists.txt

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.9)
project(Test2)

set(CMAKE_CXX_STANDARD 17)

add_executable(Test2 main.cpp)

set(SFML_ROOT "C:/Program Files/SFML-2.4.2")

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
find_package(SFML 2 REQUIRED graphics network audio window system)

if(SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
endif()

我的SFML位于C:/Program Files/SFML-2.4.2,我使用的是MinGW的最新版本(2.4.2)。我有以下MinGW版本:MingGW configuration。我的操作系统是Windows 8.1企业版。单独地,CLion和SFML (使用代码::块)都可以完美地工作。

有没有什么东西我忘了添加到CMakeLists.txt中,或者我应该修改CLion中的一些设置以使其正常工作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-03 06:49:49

通过以下方式修改CMakeLists.txt后,创建的.exe可以正常工作。

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.9)
project(Test2)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc")
set(SFML_STATIC_LIBRARIES TRUE)

add_executable(Test2 main.cpp)

set(SFML_ROOT "C:/Program Files/SFML-2.4.2")

set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake_modules")
find_package(SFML 2 REQUIRED graphics network audio window system)

if(SFML_FOUND)
    include_directories(${SFML_INCLUDE_DIR})
    target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
endif()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48044025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档