我正在尝试使用cmake在Linux上编译程序。我已经将glm安装为系统库,并且代码可以编译链接并可以正常运行。

但是由于我遇到了一些可移植性问题,所以我想使它成为本地的glm安装(即项目内部的文件夹)。

当我尝试这样做时,编译器崩溃并显示错误消息:

fatal error: glm/ext/vec1.hpp: No such file or directory
 #include <glm/ext/vec1.hpp>

GLM本身位于项目目录中的目录内

c&#43;&#43; - cmake并且无法找到本地glm安装,尽管找到了系统范围的安装-LMLPHP

我通过以下方式将其包括在cmake列表文件中:
find_package(glm REQUIRED)

我究竟做错了什么?

最佳答案

find_package只需设置一些变量即可;您仍然需要告诉目标对象在哪里可以找到glm。官方的glmConfig.cmake定义了GLM_INCLUDE_DIRS变量,您应将其添加为目标

target_include_directories(myTarget ${GLM_INCLUDE_DIRS})

09-10 09:39
查看更多