我正在尝试使用cmake在Linux上编译程序。我已经将glm安装为系统库,并且代码可以编译链接并可以正常运行。
但是由于我遇到了一些可移植性问题,所以我想使它成为本地的glm安装(即项目内部的文件夹)。
当我尝试这样做时,编译器崩溃并显示错误消息:
fatal error: glm/ext/vec1.hpp: No such file or directory
#include <glm/ext/vec1.hpp>
GLM本身位于项目目录中的目录内
我通过以下方式将其包括在cmake列表文件中:
find_package(glm REQUIRED)
我究竟做错了什么?
最佳答案
find_package
只需设置一些变量即可;您仍然需要告诉目标对象在哪里可以找到glm。官方的glmConfig.cmake定义了GLM_INCLUDE_DIRS
变量,您应将其添加为目标
target_include_directories(myTarget ${GLM_INCLUDE_DIRS})