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

Jetson嵌入式Linux下CMake find_package()无法找到NemaTode库

问题解答

为什么CMake默认不搜索/usr/local/lib/cmake路径?

核心原因有两点:

1. CMake默认搜索的路径规范

CMake使用find_package()的Config模式时,默认会从CMAKE_PREFIX_PATH包含的系统前缀目录(比如/usr/local、/usr)下的特定子目录搜索包配置文件,而非直接遍历前缀下的所有目录。标准的搜索结构是:

  • <prefix>/lib/cmake/<PackageName>/
  • <prefix>/share/cmake/<PackageName>/

如果你的NemaTode库配置文件没有放在/usr/local/lib/cmake/NemaTode/这种以包名命名的子目录下,而是直接放在/usr/local/lib/cmake/根目录,那么默认的搜索逻辑不会匹配到这个路径,自然找不到配置文件。

2. 旧版本CMake的路径限制

Ubuntu 18.04默认搭载的CMake版本通常是3.10.x左右,属于较旧的版本。旧版本CMake在默认路径的覆盖范围上不如新版本宽泛,对于非标准放置的包配置文件,不会自动扩展搜索/usr/local/lib/cmake这类目录。

额外验证建议

  • 检查NemaTode的配置文件名是否符合规范:应该是NemaTodeConfig.cmake(或对应小写形式,取决于包的定义)
  • 确认配置文件的存放路径是否符合CMake包规范,建议将其移动到/usr/local/lib/cmake/NemaTode/目录下,这样即使不手动设置CMAKE_PREFIX_PATH,CMake也能自动找到

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 20:42:05