You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMake的target_include_directories后保留#include的glm路径前缀?

解决CMake头文件路径前缀保留问题

目前你的target_include_directories直接指向了glm文件夹本身,编译器会在glm目录下直接查找头文件,所以才需要用#include <something.h>。要保留#include <glm/something.h>的写法,不需要额外嵌套文件夹,只需要调整头文件搜索路径到glm的父目录即可:

修改CMake配置为:

target_include_directories(targetA PRIVATE ${CMAKE_SOURCE_DIR}/../external/)

这样CMake会将external目录加入头文件搜索路径,当你写#include <glm/something.h>时,编译器会自动在external/glm/下查找对应的头文件,既保留了原有的路径前缀写法,也不需要调整external目录下的文件夹结构。

额外补充:如果external下还有其他第三方库需要引入,这种方式也能统一管理,后续引入其他库时,直接用#include <其他库名/xxx.h>的格式即可,不需要重复添加多个子目录到搜索路径。

内容的提问来源于stack exchange,提问作者Andrey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 13:52:00