Clion配置CSFML开发环境Win10

3次阅读

共计 1181 个字符,预计需要花费 3 分钟才能阅读完成。

为了避免自己编译 SFML,选择下载编译好的SFML,但这个时候必须选择和SFML 完全一样的 toolchain 版本。

下载 SFMLMingW

  1. 下载 SFML for GCC 7.3.0 MinGW (SEH) – 64-bit,解压到合适目录。
  2. 下载对应的 mingw/gcc 版本 MinGW Builds 7.3.0 (64-bit),解压到合适目录。

设置 ClionCmakeLists.txt

  1. 打开 Clion,新建一个项目,设置Toolchains,选择mingw 解压后的目录。
  2. CmakeLists.txt 中输入以下内容,SFML_DIR改成 SFML 解压后的实际目录,project名字也根据实际情况修改。

    cmake_minimum_required(VERSION 3.16)
    project(MyProject)
    
    set(CMAKE_CXX_STANDARD 17)
    set(SFML_DIR "YouSFMLPath/SFML-2.5.1/lib/cmake/SFML")
    
    find_package(SFML REQUIRED COMPONENTS audio network graphics window system)
    
    if (NOT SFML_FOUND)
        message(FATAL_ERROR "SFML NOT FOUND!")
    else()
        message("SFML FOUND!")
    endif()
    
    include_directories(${SFML_INCLUDE_DIR})
    add_executable(MyProject main.cpp)
    target_link_libraries(CppGenerativeArtistry sfml-audio sfml-network sfml-graphics sfml-window sfml-system)

复制 DLL 和测试

  1. SFML\bin 目录下的所有 dll 文件复制到 clion 生成 exe 的目录,一般是cmake-build-debug
  2. main.cpp 中输入以下代码,如果运行成功即OK

    #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;
    }
正文完
 0