我在windows上编译了SFML (MinGW),发现自己拥有一个包含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但我没有取得任何进展。
发布于 2016-10-30 23:47:45
这是我们得到的一步一步的指导(图片)。完成此操作后,您必须记住,您需要将库链接到您的程序,并使用以下一行:
target_link_libraries (<Name of project here> sfml-graphics sfml-window sfml-system)
如果您想在SFML中使用奥迪库,只需在末尾添加sfml-audio,等等。在调试模式下,每个库的末尾都应该有一个-d。就像这个sfml-graphics-d。
如果您在CMake或更改项目中做了一些重大更改,则需要添加:
-IC:/dev/libs/SFML/include -LC:/dev/libs/SFML/lib又回来了。(您可以在需要的地方添加文件夹)。-I用于包含文件夹,-L用于所有lib文件夹,您需要在所有路径前面使用这封信。
如果链接/bin文件夹有问题,可以删除System32文件夹中的所有.dll文件(64位文件,32位SysWOW64文件)。
记住,拥有一个与SFML匹配的GW。




发布于 2017-02-03 08:18:09
当我在cmake中得到相同的错误时,我所做的只是添加了名为"SFMLDIR“的条目,并添加了指向sfml目录的路径值。
https://stackoverflow.com/questions/39933001
复制相似问题