2016-08-21 58 views
-1

我安装OpenGV据说那里关于“使安装”

至少在Linux和OSX,在主机操作系统(包括头部)的安装,可以通过简单地INSTALL_OPENGV设置为激活上。

这是指make install?至少我是这么理解的。

如果是这样的话,为什么在dockerfile的OpenSfM(这个库取决于OpenGV),它是这样的?

# 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标志没有被设置为on,然而,它是确定make install。查看OpenGV的CMakeLists.txt文件,INSTALL_OPENGV标志默认为OFF。

+0

也许OpenSfM只需要标头?我不认为你的问题在这里是主题。或者我误解你的问题。你理解INSTALL_OPENGV的目的是正确的。为什么OpenSfM以这种方式使用它,会问他们一个很好的问题。 – usr1234567

+0

其实我想知道make install的流程。由于我对这个cmake有所了解,所以我正试图掌握它的工作原理。 – Hilman

+0

这是特定于OpenGV的。如果你想了解OpenGV对CMake的使用,这是一个错误的地方。如果你想学习CMake安装过程,你应该看看更多的库,并阅读一些文档和教程。这个问题在这里不太合适。 – usr1234567

回答

1

CMakeLists.txt判断,当INSTALL_OPENGVOFF时,只安装标题。

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

CMake的install目标是即使CMakeLists.txt中没有install()调用也会生成的默认目标。在这种情况下,make install将无所作为。