我正在尝试使用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
这是什么意思?特别是这部分:"<var>:<type>=<value>"
,我不明白为什么示例会给出"CMAKE_BUILD_TYPE=RELEASE"
和"CMAKE_INSTALL_PREFIX=/usr/local .."
非常感谢您的帮助!
答案 0 :(得分:6)
来自CMake文档:
- -D&lt; var&gt;:&lt; type&gt; =&lt; value&gt;:创建一个cmake缓存条目。
当cmake首次在空构建树中运行时,它会创建一个CMakeCache.txt文件,并使用项目的可自定义设置填充它。此选项可用于指定优先于项目默认值的设置。可以根据需要为多个缓存条目重复该选项。
:<type>
可以被视为可选。
答案 1 :(得分: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软件包的“Release”版本,CMAKE_INSTALL_PREFIX=/usr/local
表示您希望在使用{{1}时指定它的安装路径}命令。