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

从源码编译assimp后find_package找不到assimpTargets.cmake的问题

Assimp编译后find_package失败的排查方案

错误信息

CMake Error at libraries/include/assimp/generated/assimpConfig.cmake:27 (include):
  include could not find requested file:
  .../assimp/generated/assimpTargets.cmake

CMake Error at libraries/include/assimp/generated/assimpConfig.cmake:32 (get_property):
  get_property could not find TARGET assimp::assimp.  Perhaps it has not yet
  been created.

错误核心:assimpConfig.cmake尝试从当前目录加载assimpTargets.cmake,但实际该文件生成在CMakeFiles/Export/...路径下,导致find_package失败。

可能的操作错误点

  • 未执行安装步骤:Assimp默认不会将导出的target文件直接放到generated目录,必须运行make install(Linux/macOS)或者执行INSTALL目标(Windows),CMake才会将assimpTargets.cmake、assimpConfig.cmake等配置文件统一复制到指定路径。
  • 未正确设置安装前缀:编译Assimp时如果没指定CMAKE_INSTALL_PREFIX为./assimp/generated,安装步骤会把文件放到默认路径(如/usr/local),而非项目内的./assimp/generated目录。正确编译命令示例:
    cmake -S assimp-src -B assimp-build -DCMAKE_INSTALL_PREFIX=./assimp/generated
    cmake --build assimp-build --target install
    
  • 手动零散复制配置文件:如果仅手动把assimpConfig.cmake复制到./assimp/generated,未同步复制assimpTargets.cmake及assimpTargets-*.cmake文件,会出现路径不匹配问题。必须通过CMake安装流程生成完整配置文件集合,不要手动零散复制。
  • 关闭了EXPORT相关选项:部分Assimp版本需显式启用ASSIMP_INSTALL选项(默认开启,但若手动关闭会导致安装步骤不生成targets文件),编译时可添加-DASSIMP_INSTALL=ON确保生成所需配置文件。

内容的提问来源于stack exchange,提问作者D. Cohen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 12:10:56