【问题标题】:What this CMake Error means? My variables are set to NOTFOUND这个 CMake 错误是什么意思?我的变量设置为 NOTFOUND
【发布时间】:2018-06-05 12:27:00
【问题描述】:

我正在尝试从我的大学运行一些代码,但是当我在“build”中执行“cmake ..”时出现以下错误:


CMake 错误:此项目中使用了以下变量,但是 它们被设置为 NOTFOUND。请设置它们或确保它们已设置 并在 CMake 文件中正确测试:iceutil_lib 由目录 /Users/alej/Desktop/project1 中的目标“cppgui”链接 由目录 /Users/alej/Desktop/project1 中的目标“project1”链接

-- 配置不完整,出现错误!


我的任何朋友遇到错误,您能帮帮我吗?

【问题讨论】:

  • 我假设 CMake 找不到 ZeroC ICE framework。将Ice_HOME CMake 变量设置为指向包含库的目录可能会解决此问题。
  • 你的回答帮助了我,如果我设置 Ice_HOME cmake 工作,但是当我之后输入 make 时,它​​有问题,所以我不得不写另一条路线,但还是谢谢!
  • 请尝试cmake -Diceutil_lib=/path/to/library ../
  • 我认为当解决方案有效时,OP 应该接受一个答案作为解决方案,只需我的 5 美分。

标签: c++ cmake


【解决方案1】:

CMake 会尝试从您大学的代码中找到创建您尝试构建的库或可执行文件所需的所有库。

找到的这些库的路径存储在 CMake 中的特殊变量中。默认情况下,这些变量带有值<Library-Name>-NOTFOUND。这个 NOTFOUND 标志是 CMake 提示错误消息的原因。

一般来说,CMake 没有为您找到该库的原因可能有:

  • 您的系统上未安装该库
  • 该库安装在 CMake 未查找的位置。在这种情况下,您可以通过将库安装路径自己放入相应的 CMake 变量中来帮助 CMake。为此,请使用文本编辑器打开文件CMakeCache.txt 并搜索ICEUTIL_LIB。将blabla-NOTFOUND 值替换为库的实际(绝对)路径。可能还有其他带有 ICEUTIL 前缀的变量。其中之一可能被命名为ICEUTIL_HEADERSICEUTIL_INCLUDE_DIR。将此值替换为找到ICEUTIL.h 文件的绝对路径。如果未设置包含路径,CMake 可能会正常运行而不会出现错误,但稍后您会遇到编译器错误,提示 include file not found

【讨论】:

  • 它似乎有效。我搜索了 ICEUTIL_LIB 并替换了库的路径。我没有找到你提到的其他变量,但我想没有。非常感谢!!!!!!!
猜你喜欢
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多