共计 1181 个字符,预计需要花费 3 分钟才能阅读完成。
为了避免自己编译 SFML
,选择下载编译好的SFML
,但这个时候必须选择和SFML
完全一样的 toolchain
版本。
下载 SFML
和MingW
- 下载 SFML for GCC 7.3.0 MinGW (SEH) – 64-bit,解压到合适目录。
- 下载对应的
mingw/gcc
版本 MinGW Builds 7.3.0 (64-bit),解压到合适目录。
设置 Clion
和CmakeLists.txt
- 打开
Clion
,新建一个项目,设置Toolchains
,选择mingw
解压后的目录。 -
在
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
和测试
- 把
SFML\bin
目录下的所有dll
文件复制到clion
生成exe
的目录,一般是cmake-build-debug
-
在
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; }
正文完