在Windows上使用CMake查找SFML

在Windows上使用CMake查找SFML,cmake,sfml,Cmake,Sfml,我在windows(MinGW)上编译了SFML,发现自己有一个带有bin、include、lib和cmake/Modules/FindSFML.cmake文件的目录结构 我在CMakeLists.txt中找不到如何使用SFML,无论它是 find_package(SFML REQUIRED) 或 当我使用cmake时,我得到的只是: CMake Error at CMakeLists.txt:34 (find_package): Could not find a package conf

我在windows(MinGW)上编译了SFML,发现自己有一个带有bin、include、lib和cmake/Modules/FindSFML.cmake文件的目录结构

我在CMakeLists.txt中找不到如何使用SFML,无论它是

find_package(SFML 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


但我没有取得任何进展。

这是我们收到的分步指南(图)。完成此操作后,您必须记住,您需要使用以下行将库链接到您的程序:
目标链接库(sfml图形sfml窗口sfml系统)

如果您想在SFML中使用奥迪库,只需在末尾添加
SFML音频
,依此类推。 在调试模式下,每个库的末尾应该有一个
-d
。像这样
sfml-graphics-d

如果您在CMake中做了一些重大更改或更改了项目,则需要添加:
-IC:/dev/libs/SFML/include-LC:/dev/libs/SFML/lib
再次返回。 (您可以将文件夹添加到所需的位置)
-I
用于包含文件夹,而
-L
用于所有库文件夹,您需要在所有路径前面显示此字母。
如果在链接/bin文件夹时遇到问题,可以将所有
.dll
文件放在System32文件夹中(对于64位,SysWOW64对于32位)。
记住,有一个与SFML匹配的GW


这是我们收到的分步指南(图)。完成此操作后,您必须记住,您需要使用以下行将库链接到您的程序:
目标链接库(sfml图形sfml窗口sfml系统)

如果您想在SFML中使用奥迪库,只需在末尾添加
SFML音频
,依此类推。 在调试模式下,每个库的末尾应该有一个
-d
。像这样
sfml-graphics-d

如果您在CMake中做了一些重大更改或更改了项目,则需要添加:
-IC:/dev/libs/SFML/include-LC:/dev/libs/SFML/lib
再次返回。 (您可以将文件夹添加到所需的位置)
-I
用于包含文件夹,而
-L
用于所有库文件夹,您需要在所有路径前面显示此字母。
如果在链接/bin文件夹时遇到问题,可以将所有
.dll
文件放在System32文件夹中(对于64位,SysWOW64对于32位)。
记住,有一个与SFML匹配的GW


当我在cmake gui中遇到同样的错误时,我所做的一切-添加名为“SFMLDIR”的条目和指向sfml目录的路径值。

当我在cmake gui中遇到同样的错误时,我所做的一切-添加名为“SFMLDIR”的条目和指向sfml目录的路径值。

这个答案有用吗?请添加您的cmake呼叫。为什么要添加
cmake/modules
?为什么是CMAKE_模块路径而不是CMAKE_前缀路径?这个答案有用吗?请添加您的cmake呼叫。为什么要添加
cmake/modules
?为什么是CMAKE_模块路径而不是CMAKE_前缀路径?
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