Opengl 使用CMake查找SFML(Ubuntu 18.04)
我正在尝试开始使用opengl。我首先遵循了一个安装opengl的方法,编译了自己的示例,效果很好。然后,我安装了从中建议的必备库 然后,我从他们的网站上获取了一个示例,并尝试使用CMake进行编译。它在Opengl 使用CMake查找SFML(Ubuntu 18.04),opengl,cmake,sfml,Opengl,Cmake,Sfml,我正在尝试开始使用opengl。我首先遵循了一个安装opengl的方法,编译了自己的示例,效果很好。然后,我安装了从中建议的必备库 然后,我从他们的网站上获取了一个示例,并尝试使用CMake进行编译。它在find_package步骤失败 cmake_minimum_required (VERSION 3.10) ################ # Project ################ project (opengl_test) ################ # Packa
find_package
步骤失败
cmake_minimum_required (VERSION 3.10)
################
# Project
################
project (opengl_test)
################
# Packages
################
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
find_package(SFML REQUIRED system window graphics network audio)
OpenGL和GLUT被正确地找到和链接,并且只需要这两个文件就可以按预期编译和运行。但是,SFML查找不起作用
By not providing "FindSFML.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "SFML", but
CMake did not find one.
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的路径。我知道在StackOverflow上有大约30篇关于这个主题的帖子。我尝试了其中的几个,但都不起作用,错误仍然是一样的。您的
/usr
树中是否有SFMLConfig.cmake
?libsfmldev应该在那里放一个。我设法用列表(附加CMAKE\u MODULE\u PATH)/usr/share/SFML/CMAKE/Modules)解决了这个问题。我肯定我以前试过10次,但都没用。我需要习惯在调试时删除临时cmake文件。但是,现在问题解决了:)一个稍微简单的方法是设置CMAKE\u PREFIX\u PATH=/usr/share/SFML
谢谢,我会试试。最终,我想让它独立于平台,也许可以使用find_path
,但现在它可以工作了,我应该专注于实际的程序:D
By not providing "FindSFML.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "SFML", but
CMake did not find one.
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.