Build 有人能扩展'的含义吗;配置';和';构建';使用CMake文件
我正在从GitHub()下载这段代码,并按照说明进行操作: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
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,而不是使用命令!现在都在工作