我的项目依赖于 GLEW 并且是用 CMake 构建的,所以我从这里http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/cmake/FindGLEW.cmake 获取了 FindGLEW.cmake? r=96并写find_package(GLEW REQUIRED)
在我的 CMakeLists.txt 中。问题是我正在使用集群 PC,有几个版本的 GLEW 可用。一个版本被存储在/usr/lib
其中不是最新的。最新版本存储在/opt/local/lib64
. 这是我要链接的版本。所以我在 GLEW_LIBRARY 路径下添加了 FindGLEW.cmake 的路径。问题是makefile总是链接到旧版本,但我需要最新版本(1.7)来使用类似的东西GL_PATCHES
,GL_PATCH_PARAMETERS
等等。我能知道如何强制 CMake 使用较新的版本,就像 FindBoost.cmake 的情况一样。一种解决方案是删除旧的,但这不是一种选择。我还更改了 GLEW_LIBRARY 列表中路径的顺序,但没有成功。
在我刚刚写LDDFLAGS = -L/opt/local/lib64 -lGLEW
的旧 Makefile 中,路径绝对清晰,但现在使用 CMake 我想使用查找功能,但想要更喜欢特定版本。