我正在尝试构建SFML,以便开始用c ++开发2d游戏。我将源代码目录放在C:中(目录本身称为'SFML')。在尝试使用CMake生成.cbp文件时,我遇到了一个错误:
“源目录”C:/ SFML“似乎不包含CMakeLists.txt”
似乎CMake没有创建丢失的文件。 我使用的是Cmake 3.10.1,安装文件可以在 https://cmake.org/download/ 的标题下找到:“Windows win32-x86 Installer”。
我尝试使用Codeblocks的生成器 - MinGW makefile构建SFML 2.4.2。使用的代码块版本为: codeblocks-16.01mingw-setup.exe ,可在 http://www.codeblocks.org/downloads/26
中找到之前是否有人遇到同样的问题而且知道如何克服它?如果不 - 这个版本有没有已经建成的,随时可用的图书馆? (2.4.2)
如果没有..你知道在Visual Studio 2017中可以使用的SFML版本吗?
另一个问题(这是最后一个,我保证......) - 也许你可以向我推荐另一个c ++库,可用于开发2D游戏吗?
EDT: 注意:我对所有这些建筑物都是全新的
SFML的包含: maybe it's the binary version?
lib包含一些静态库,bin包含一些.dll s
答案 0 :(得分:1)
您可能下载了错误或可能将SFML源提取到子文件夹或类似内容中。
由于您已经提到过Visual Studio:SFML与Visual Studio 100%兼容,您可以随时从源代码构建它,而不必担心依赖项(存储库中包含的所有内容)。
编译的步骤非常简单。我建议你安装Git来克隆SFML存储库中的最新源代码。此外,您还需要 CMake ,这显然已经得到了。
C:\SFML
。git clone https://github.com/SFML/SFML.git source
(请注意尾随。)source
子目录。build
的新目录:md build && cd build
cmake -DCMAKE_INSTALL_PREFIX=C:/SFML ../source
cmake --build . --target install --config debug
cmake --build . --target install --config release
INSTALL
项目。(你不应该定义构建工具或任何东西; CMake应该注意到Visual Studio正在安装并自动拾取它。)
答案 1 :(得分:0)
在使用-S命令行选项时,我使用cmake版本3.10遇到了这种情况。在cmake版本3.15.4上,它的行为符合预期-因此,如果更新cmake,则它可能会正常工作。
请注意,版本3.13之前不支持-S命令行选项: https://cmake.org/cmake/help/v3.13/release/3.13.html#command-line
通常从项目根目录的“ build”子目录中调用cmake,该项目根目录包含CMakelists.txt。因此,您将创建一个“ build”目录,进行更改,然后提交“ cmake ..”。这将从项目根目录中提取CMakelists.txt,并将您所在的“ build”子目录用作构建目录。我们说“构建”,实际上是生成makefile,然后供“本机”构建系统(例如“ make”或Visual Studio)用来执行实际的编译和链接。这种安排并不总是很方便,因此引入了-S和-B命令行选项。