Build 有人能扩展'的含义吗;配置';和';构建';使用CMake文件

Build 有人能扩展'的含义吗;配置';和';构建';使用CMake文件,build,cmake,configure,Build,Cmake,Configure,我正在从GitHub()下载这段代码,并按照说明进行操作: To build doosabin_regression: Run CMake with an out of source build. Set COMMON_CPP_INCLUDE_DIR to the full path to rstebbing/common/cpp. Set DOOSABIN_INCLUDE_DIR to the full path to rstebbing/subdivision/cp

我正在从GitHub()下载这段代码,并按照说明进行操作:

To build doosabin_regression:

    Run CMake with an out of source build.
    Set COMMON_CPP_INCLUDE_DIR to the full path to rstebbing/common/cpp.
    Set DOOSABIN_INCLUDE_DIR to the full path to rstebbing/subdivision/cpp/doosabin/include.
    Set Ceres_DIR to the directory containing CeresConfig.cmake.
    Set GFLAGS_INCLUDE_DIR, GFLAGS_LIBRARY and RAPID_JSON_INCLUDE_DIR. (Add -std=c++11 to CMAKE_CXX_FLAGS if compiling with gcc.)
    Configure.
    Build.
我已经编辑了
CMakeLists.txt
文件,将正确的路径放入其中。然后,我创建了一个名为
的新目录,并运行:

cmake ../subdivision-regression/src
它完成此操作并显示:

-- Configuring done
-- Generating done
-- Build files have been written to: /home/hert5584/RStebbing/subdivision-regression-bin
但是,当我尝试运行示例代码时,它找不到
CMakeLists.txt
中列出的文件(我知道它们是正确的路径,否则CMake不会运行)

我试过跑步:

sudo make install 

但会出现以下错误:

make: *** No rule to make target 'install'. Stop.


你知道为什么这样不行吗?是否配置并构建了上述步骤?

要理解的有序CMake习惯用法是:

  • 配置步骤
  • 生成步骤(这通常包含在配置步骤中,没有明确提及,如本例所示。)
  • 构建步骤(实际将代码编译/链接到库/可执行文件中)
  • 请查看此文档,了解有关配置和生成阶段的信息

    您似乎没有执行设置CMake缓存变量的步骤。对于这些,您必须使用CMake命令行(
    -D
    )。因此,请像这样运行CMake来设置所有六个变量:

    cmake -DCOMMON_CPP_INCLUDE_DIR=/rstebbing/common/cp -DDOOSABIN_INCLUDE_DIR=...[More CMake Cache variables]...  ../subdivision-regression/src
    
    对于构建,尝试只运行
    make
    而不运行
    sudo
    install

    make
    

    这些说明并没有要求您安装项目,它们只要求您配置和构建项目。但是
    makeinstall
    实际上安装了项目。对于构建项目,请使用普通
    make
    。“build”和“install”之间的区别并不是CMake特有的,几乎所有的构建系统都描述了这些阶段。
    sudo
    通常需要用于安装(
    makeinstall
    ),但很少只用于构建。谢谢!我是手动编辑CMakeList.txt,而不是使用命令!现在都在工作