介绍
本教程将适用于任何操作系统、任何IDE和任何编译器。它将解释如何构建一个可以与SFML的任何发布、分支或Git提交一起使用的项目。这种方法的独特之处在于,它消除了链接器错误的可能性,并使将来升级SFML版本变得尽可能容易。它甚至包括一个CI管道,用于自动验证您的项目是否可以在Windows、Linux和macOS上继续编译。
创建您自己的GitHub项目
https://github.com/SFML/cmake-sfml-project
上面的GitHub存储库就是GitHub所说的存储库模板。查看GitHub关于存储库模板的文档,用这个模板制作你自己的GitHub项目。此步骤可确保您的代码在远程位置保持安全,这样您就不会意外丢失它。
自定义CMake项目和可执行文件名称
开箱即用的此项目使用占位符名称作为项目名称和可执行文件名称。这些名称可以是您想要的任何名称,并且不必匹配。项目名称是在CMakeLists.txt顶部对project()的调用中定义的。
可执行文件名称是在对add_executable()的调用中定义的。请确保替换该旧可执行文件名称的所有实例。可执行文件的名称在生成可执行文件后会再使用几次。
添加您自己的源文件
项目中唯一的C++文件是src/main.cpp。您可以根据自己项目的需要重命名、删除或添加源文件。只需确保add_executable调用中包含所有.cpp文件,以避免链接器错误。
必要条件
由于此模板从源代码构建SFML,Linux用户将需要首先安装所需的系统包。在Ubuntu或其他基于Debian的操作系统上,可以使用以下命令完成。像Fedora这样的非Debian Linux发行版也需要类似的过程。
sudo apt update
sudo apt install \
libxrandr-dev \
libxcursor-dev \
libudev-dev \
libopenal-dev \
libflac-dev \
libvorbis-dev \
libgl1-mesa-dev \
libegl1-mesa-dev \
libdrm-dev \
libgbm-dev
CMake模板需要安装CMake。您系统的软件包管理器是获取CMake的最佳方式。它还与Visual Studio一起安装。如果由于某种原因,以前的选项不起作用,您可以使用https://cmake.org/download/为您的操作系统安装CMake。
Git也是必需的,因为CMake使用Git来克隆SFML存储库。如果你克隆了自己的GitHub项目,那么你就已经安装了Git。如果没有Git,CMake将以一种非直观的方式失败。
配置和构建您的项目
既然您已经对构建脚本进行了任何更改,我们就可以构建了!CMake是迄今为止最流行的C++构建系统,因此您可能使用的任何IDE都支持CMake项目。以下是一些链接到使用一些不同的流行IDE设置CMake项目的文档。
如果您更愿意从命令行而不是通过IDE来构建这个项目,那么这也很容易做到。您可以使用这两个shell命令来进行项目的发布构建。