FreeBSD上的CMake在/ usr / local / include中看不到GL / gl.h.

时间:2015-09-17 06:55:36

标签: c++ opengl cmake clang freebsd

我正在学习OpenGL,并试图使我的代码尽可能便携。现在我设法在Ubuntu Linux 14.04,Windows 7和MacOS上编译项目。但我在使用FreeBSD时遇到了一些问题(PC-BSD 10.2,如果重要的话)。这是一个代码示例:

运行make后(请参阅README.md中的所有构建步骤)clang抱怨它无法找到<GL/gl.h>中使用的./glfw/include/GLFW/glfw3.h。但{/ 1}}存在于/ usr / local / include目录中。

根据Google的说法,这是一个众所周知的问题。我尝试在GL/gl.h中手动编辑CMAKE_CXX_FLAGS,修改环境变量等。没有任何作用。

请问你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

您执行find_package(OpenGL REQUIRED)并使用${OPENGL_LIBRARY}(根据文档可以是${OPENGL_LIBRARIES}${OPENGL_gl_LIBRARY}),但您不能{{1} }。

FreeBSD将所有3d-party软件安装到include_directories(${OPENGL_INCLUDE_DIR})前缀中,许多开发人员认为他们需要的所有标头都在/usr/local之内。对于Linux而言,这只是巧合。因此,如果您的软件使用OpenGL,则应在构建系统代码中明确提及其包含和库路径,而不是对其位置进行假设。