我很难理解 CMAKE_INSTALL_PREFIX 和 CMAKE_INSTALL_RPATH 之间的区别。
如果我理解得很好, CMAKE_INSTALL_PREFIX 是将要安装的前缀目录。因此,如果我使用以下脚本进行安装:
project(hello)
add_library(hello hello.h hello.cpp)
set(CMAKE_INSTALL_PREFIX "c:/ABC/DEF")
INSTALL(TARGETS hello EXPORT hello_export
RUNTIME DESTINATION bin
LIBRARY DESTINATION bin
ARCHIVE DESTINATION lib
FRAMEWORK DESTINATION bin
INCLUDES DESTINATION include
)
然后静态库将安装在 C:/ABC/DEF/lib 中。
然后,我的问题是使用 CMAKE_INSTALL_RPATH 有什么意义?
最佳答案
在支持 c:/ABC/DEF
形式路径的系统上(即 Windows),无。 Windows 二进制文件没有 rpath 的概念.
在具有 DT_RPATH
的系统上和 DT_RUNPATH
(= 那些使用 ELF 二进制文件的),CMake 变量 CMAKE_INSTALL_RPATH
用于设置DT_RPATH
的值(或 DT_RUNPATH
)标签,这些标签将在安装时写入二进制文件。
关于cmake - CMAKE_INSTALL_PREFIX 和 CMAKE_INSTALL_RPATH 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32047805/