【问题标题】:Regarding "make install"关于“制作安装”
【发布时间】:2016-08-21 06:34:28
【问题描述】:

我正在安装OpenGV,据说那里

至少在 Linux 和 OSX 下,只需将 INSTALL_OPENGV 设置为 ON,即可激活主机操作系统(包括头文件)上的安装。

这是针对make install 的吗?至少我是这么理解的。

如果是这样,为什么在OpenSfM(这个库依赖于OpenGV)的dockerfile中,是这样的?

# Install opengv from source
RUN \
    mkdir -p /source && cd /source && \
    git clone https://github.com/paulinus/opengv.git && \
    cd /source/opengv && \
    mkdir -p build && cd build && \
    cmake .. -DBUILD_TESTS=OFF -DBUILD_PYTHON=ON && \
    make install && \
    cd / && \
    rm -rf /source/opengv

INSTALL_OPENGV 的标志尚未设置为打开,但make install 可以。查看OpenGV的CMakeLists.txt文件,INSTALL_OPENGV标志默认为OFF。

【问题讨论】:

  • 也许 OpenSfM 只需要标题?我认为您的问题在这里不是主题。或者我误解了你的问题。您以正确的方式理解了 INSTALL_OPENGV 的目的。为什么 OpenSfM 以这种方式使用它,这是一个很好的问题。
  • 其实我是想知道make install的流程。由于我是这个 cmake 的新手,所以我试图了解它是如何工作的。
  • 这是特定于 OpenGV 的。如果你想通过 OpenGV 学习 CMake 的使用,这里问错地方了。如果您想了解 CMake 安装过程,您应该查看更多库并阅读一些文档和教程。这个问题在这里不太适合。

标签: makefile cmake installation


【解决方案1】:

CMakeLists.txt来看,当INSTALL_OPENGVOFF时,只安装headers。

当标志为ON 时,它还会安装由opengv 目标生成的二进制文件。

CMake 的install 目标是一个默认目标,即使CMakeLists.txt 中没有install() 调用也会生成。在那种情况下,make install 将什么都不做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-03
    • 2012-09-17
    • 2015-04-24
    • 2010-12-10
    • 1970-01-01
    • 2016-05-07
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多