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

基于可正常运行的Makefile编写的CMakeLists编译时embree头文件找不到

问题产生原因
  • 头文件搜索路径配置错误:原Makefile中指定的-I/usr/local/include/embree3配合代码中的#include <embree3/rtcore.h>会拼接出不存在的路径/usr/local/include/embree3/embree3/rtcore.h,因此无法找到头文件。正确的头文件根搜索路径应为/usr/local/include,拼接后可得到正确的文件路径/usr/local/include/embree3/rtcore.h。
  • 链接库名称配置错误:原Makefile使用的链接参数是-lembree3,对应库名是embree3,你编写的CMakeLists.txt中target_link_libraries指定的库名为embree,名称不匹配,即使修复头文件问题,后续链接阶段也会报错。
修复方案

直接修正CMakeLists.txt的两处配置错误即可,修复后的完整内容如下:

cmake_minimum_required(VERSION 3.1.0)
project(some_project)

include_directories(/usr/local/include) # 修正头文件搜索路径
link_directories(/usr/local/lib/)

add_executable(main main.cpp)

target_link_libraries(main embree3) # 修正链接库名称

可选优化写法

如果你的系统中已经正确安装embree3的开发包,更推荐使用find_package自动查找依赖,避免硬编码路径,写法如下:

cmake_minimum_required(VERSION 3.1.0)
project(some_project)

# 自动查找embree3依赖
find_package(embree 3 REQUIRED)

add_executable(main main.cpp)
# 直接链接embree官方提供的导入目标即可,无需手动指定头文件和库路径
target_link_libraries(main embree::embree)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 08:45:03