Mac下找不到gl.pc和glu.pc

时间:2024-01-18 21:45:08

在用pkg-config可以用来自动查找对应库的include和lib文件,方便编译。它主要通过PKG_CONFIG_PATH和/usr/lib/pkgconfig目录下的.pc文件进行自动配置。在cmake中可以用pkg_search_moudle()来调用pkg-config。

Mac下默认没有opengl对应的.pc配置文件,不能直接在cmakce里使用

pkg_search_module(GL REQUIRED gl)

来找到gl.h等文件。

这里用Homebrew安装mesa来解决该问题:

(方法引自:http://pointclouds.org/documentation/tutorials/compiling_pcl_posix.php#compiling-pcl-posix的Troubleshooting部分)

brew cask install xquartz
brew install mesalib-glw

这样就在/opt/X11/lib/pkgconfig中加入了gl.pc和glu.pc文件


如果在cmake里配置,那么可以写为

set(ENV{PKG_CONFIG_PATH} /opt/X11/lib/pkgconfig)
pkg_search_module(GL REQUIRED gl)
pkg_search_module(GLU REQUIRED glu)

BTW: 我在CLion中编译项目,但CLion自带的cmake不会主动清理缓存,这使新的pkg-config配置无效,可以点击Tools->CMake->Reset Cache and Reload Project来达到清理cmake缓存的目的。