在 Windows 上使用 CMake 查找 SFML
find SFML with CMake on Windows
我在 windows (MinGW) 上编译了 SFML,发现自己的目录结构包含 bin、include、lib 和一个 cmake/Modules/FindSFML.cmake 文件。
我在CMakeLists.txt中找不到如何使用SFML,是否
find_package(SFML REQUIRED)
或
find_package(SFML CONFIG REQUIRED)
我使用cmake时得到的是:
CMake Error at CMakeLists.txt:34 (find_package):
Could not find a package configuration file provided by "SFML" with any of
the following names:
SFMLConfig.cmake
sfml-config.cmake
Add the installation prefix of "SFML" to CMAKE_PREFIX_PATH or set
"SFML_DIR" to a directory containing one of the above files. If "SFML"
provides a separate development package or SDK, be sure it has been
installed.
我试过手动设置:
SFML_DIR:PATH=E:/code/libraries/SFML-2.4.0
CMAKE_MODULE_PATH:PATH=E:/code/libraries/SFML-2.4.0
或
CMAKE_MODULE_PATH:PATH=E:/code/libraries/SFML-2.4.0/cmake/modules
但我没有取得任何进展。
这是为我们提供的分步指南(图片)。完成此操作后,您必须记住您需要 link 将库添加到您的程序中,使用以下行:
target_link_libraries (<Name of project here> sfml-graphics sfml-window sfml-system)
如果你想在 SFML 中使用 audi 库,只需在末尾添加 sfml-audio
等等。
在调试模式下,每个库的末尾应该有一个 -d
。像这样 sfml-graphics-d
.
如果你在 CMake 中做一些大的改变或者改变你需要添加的项目:
-IC:/dev/libs/SFML/include -LC:/dev/libs/SFML/lib
又回来了。
(您可以将文件夹添加到您想要的位置)。 -I
是Include文件夹,-L
是所有lib文件夹,所有路径前都需要这个字母。
如果你在 linking /bin 文件夹中遇到问题,你可以将所有 .dll
文件放到 System32 文件夹中(对于 64 位,SysWOW64 对于 32 位)。
请记住,有一个匹配 SFML 的 GW。
当我在 cmake-gui 中遇到同样的错误时,我所做的一切 - 添加名称为 "SFMLDIR" 的条目和带有 sfml 目录路径的值。
我在 windows (MinGW) 上编译了 SFML,发现自己的目录结构包含 bin、include、lib 和一个 cmake/Modules/FindSFML.cmake 文件。
我在CMakeLists.txt中找不到如何使用SFML,是否
find_package(SFML REQUIRED)
或
find_package(SFML CONFIG REQUIRED)
我使用cmake时得到的是:
CMake Error at CMakeLists.txt:34 (find_package):
Could not find a package configuration file provided by "SFML" with any of
the following names:
SFMLConfig.cmake
sfml-config.cmake
Add the installation prefix of "SFML" to CMAKE_PREFIX_PATH or set
"SFML_DIR" to a directory containing one of the above files. If "SFML"
provides a separate development package or SDK, be sure it has been
installed.
我试过手动设置:
SFML_DIR:PATH=E:/code/libraries/SFML-2.4.0
CMAKE_MODULE_PATH:PATH=E:/code/libraries/SFML-2.4.0
或
CMAKE_MODULE_PATH:PATH=E:/code/libraries/SFML-2.4.0/cmake/modules
但我没有取得任何进展。
这是为我们提供的分步指南(图片)。完成此操作后,您必须记住您需要 link 将库添加到您的程序中,使用以下行:
target_link_libraries (<Name of project here> sfml-graphics sfml-window sfml-system)
如果你想在 SFML 中使用 audi 库,只需在末尾添加 sfml-audio
等等。
在调试模式下,每个库的末尾应该有一个 -d
。像这样 sfml-graphics-d
.
如果你在 CMake 中做一些大的改变或者改变你需要添加的项目:
-IC:/dev/libs/SFML/include -LC:/dev/libs/SFML/lib
又回来了。
(您可以将文件夹添加到您想要的位置)。 -I
是Include文件夹,-L
是所有lib文件夹,所有路径前都需要这个字母。
如果你在 linking /bin 文件夹中遇到问题,你可以将所有 .dll
文件放到 System32 文件夹中(对于 64 位,SysWOW64 对于 32 位)。
请记住,有一个匹配 SFML 的 GW。
当我在 cmake-gui 中遇到同样的错误时,我所做的一切 - 添加名称为 "SFMLDIR" 的条目和带有 sfml 目录路径的值。