cmake 中安装命令的作用是什么?
What install command does in cmake?
对不起,我太天真了。我试图从这个 cmake 网站的 link 了解,但无法理解。我有一个示例 cmake 文件,其中可执行文件由
生成
add_executable(${PROJECT_NAME}_node src/filename.cpp)
然后通过以下命令安装
install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )
这个 cmake 来自 ROS,所以有 catkin。总体问题保持不变。有人知道吗,为什么我们需要安装 TARGETS/FILES?
无需使用catkin的INSTALL
功能
INSTALL 函数只会将你的最终 BINARY
、LIBRARY
等复制到一个更安全的地方(例如位于 /opt/ros/<your-version>/share,lib,include
的主要 ros 包 space)以保持构建工作space 不那么拥挤,并在您的工作space 损坏时保持文件安全。
INSTALL
至少在两种情况下有用:
你下载一些包的源代码,生成你想在你的系统中使用的二进制文件。你可以 INSTALL
它们在 /usr/bin 下,例如
您编译了一些您将在其他产品中使用的库。它将收集所需的文件(头文件、库...),并且只收集这些文件,并将它们放在已知的位置,无论库编译期望它们在哪里。
你可以直接复制它们,但是依靠CMake可以让这个过程在更高层次上表达。
它只是在本地系统上安装构建的二进制文件。
如果 bash
或 git
之类的工具必须 从源安装 (例如,要使用其最新版本),请先构建然后安装使用。
如果本地系统没有所需的工具,或者它的包不存在,或者打包的版本是旧的,那么从源代码构建和安装(从私有构建目录到 public 系统目录)是一种正常的方法,或者需要一些定制。
对不起,我太天真了。我试图从这个 cmake 网站的 link 了解,但无法理解。我有一个示例 cmake 文件,其中可执行文件由
生成add_executable(${PROJECT_NAME}_node src/filename.cpp)
然后通过以下命令安装
install(TARGETS ${PROJECT_NAME}_node ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )
这个 cmake 来自 ROS,所以有 catkin。总体问题保持不变。有人知道吗,为什么我们需要安装 TARGETS/FILES?
无需使用catkin的INSTALL
功能
INSTALL 函数只会将你的最终 BINARY
、LIBRARY
等复制到一个更安全的地方(例如位于 /opt/ros/<your-version>/share,lib,include
的主要 ros 包 space)以保持构建工作space 不那么拥挤,并在您的工作space 损坏时保持文件安全。
INSTALL
至少在两种情况下有用:
你下载一些包的源代码,生成你想在你的系统中使用的二进制文件。你可以
INSTALL
它们在 /usr/bin 下,例如您编译了一些您将在其他产品中使用的库。它将收集所需的文件(头文件、库...),并且只收集这些文件,并将它们放在已知的位置,无论库编译期望它们在哪里。
你可以直接复制它们,但是依靠CMake可以让这个过程在更高层次上表达。
它只是在本地系统上安装构建的二进制文件。
如果 bash
或 git
之类的工具必须 从源安装 (例如,要使用其最新版本),请先构建然后安装使用。
如果本地系统没有所需的工具,或者它的包不存在,或者打包的版本是旧的,那么从源代码构建和安装(从私有构建目录到 public 系统目录)是一种正常的方法,或者需要一些定制。