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

如何通过CMakeLists配置让当前项目可引入其他目录项目的头文件?

CMake头文件可见性配置方案
  • 第一步:修改project/driver/CMakeLists.txt,给DriverHeaders目标添加公开头文件搜索路径,追加以下内容:
# 若driver.h存放在driver下的include子目录,可将路径替换为 ${CMAKE_CURRENT_SOURCE_DIR}/include
target_include_directories(DriverHeaders PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

这里的PUBLIC属性会自动把该路径同步给所有链接了DriverHeaders的目标,不需要在consumer的配置里重复声明路径。

  • 第二步:确认根目录CMakeLists.txt按顺序引入子模块,确保先声明driver目标再引入consumer:
cmake_minimum_required(VERSION 3.10)
project(MyRootProject CXX)

# 先添加driver子目录,保证consumer能找到DriverHeaders目标
add_subdirectory(driver)
add_subdirectory(consumer/include/src)
  • 第三步:修正consumer的CMakeLists.txt拼写错误,第一行的prject修改为正确的project。

配置完成后重新生成构建系统编译即可正常引入driver.h。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 14:45:04