我正在学习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
,修改环境变量等。没有任何作用。
请问你能帮帮我吗?
答案 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,则应在构建系统代码中明确提及其包含和库路径,而不是对其位置进行假设。