Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 使用CMake查找SFML(Ubuntu 18.04)_Opengl_Cmake_Sfml - Fatal编程技术网

Opengl 使用CMake查找SFML(Ubuntu 18.04)

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

我正在尝试开始使用opengl。我首先遵循了一个安装opengl的方法,编译了自己的示例,效果很好。然后,我安装了从中建议的必备库

然后,我从他们的网站上获取了一个示例,并尝试使用CMake进行编译。它在
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.