【问题标题】:cmake -D <var>:<type>=<value> what does the parameter "-D" meancmake -D <var>:<type>=<value> 参数“-D”是什么意思
【发布时间】:2013-11-09 14:24:39
【问题描述】:

我正在尝试使用 cmake 安装 opencv。在opencv指令页面中,我找到了以下示例:

cd ~/opencv
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

据我了解,我应该使用cmake在我创建的新目录中生成Makefile,在这个例子中应该是~/opencv/release。 但我不太明白最后一行。在 cmake 帮助中,我发现:

cmake -D <var>:<type>=<value> = create a cmake cache entry

这是什么意思?尤其是这部分:"&lt;var&gt;:&lt;type&gt;=&lt;value&gt;",我不明白为什么示例给出"CMAKE_BUILD_TYPE=RELEASE""CMAKE_INSTALL_PREFIX=/usr/local .."

非常感谢您的帮助!

【问题讨论】:

  • 似乎:&lt;type&gt; 是可选的,虽然它没有明确说明。

标签: c++ opencv cmake


【解决方案1】:

来自 CMake 文档:

  • -D :=:创建一个cmake缓存条目。
    当 cmake 第一次在空的构建树中运行时,它会创建一个 CMakeCache.txt 文件并使用项目的可自定义设置填充它。此选项可用于指定优先于项目默认值的设置。可以根据需要为尽可能多的缓存条目重复该选项。

:&lt;type&gt; 可以读作可选。

【讨论】:

  • set的文档中更好地描述了可用的类型
  • 我搜索了 CMake 文档,但找不到该条目。谢谢你把它放在这里!你能提供一个链接吗?我现在正在寻找“-B”和“-H”选项
【解决方案2】:

也许你可以试试:

cd ~/opencv
mkdir release
cd release
cmake -D'CMAKE_BUILD_TYPE=RELEASE' -D'CMAKE_INSTALL_PREFIX=/usr/local'

只要用''把参数括起来,不要在-D和'之间留空就可以了。

我在使用 -D 参数配置 OpenCV 时遇到了一些问题。

而且我认为 -D 选项只是更改了一些用于编译和安装 pkg 的默认参数。

正如您所推断的,CMAKE_BUILD_TYPE=RELEASE 表示您要构建 opencv 包的“发布”版本,CMAKE_INSTALL_PREFIX=/usr/local 表示您要在使用 make install 命令时指定它的安装路径。

【讨论】:

    猜你喜欢
    • 2013-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2019-12-05
    相关资源
    最近更新 更多