作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们如何在 MacOS 上的 CMake 的目标上设置多个 RPATH 目录?在 Linux 上,我们可以只使用冒号分隔的列表:
set_target_properties(mytarget
PROPERTIES
INSTALL_RPATH "\$ORIGIN/../lib:\$ORIGIN/../thirdparty/lib"
)
otool -l
应该显示它,但不搜索这些目录:
set_target_properties(mytarget
PROPERTIES
INSTALL_RPATH "@loader_path/../lib:@loader_path/../thirdparty/lib"
)
otool -l
分开显示。 .就像是:
g++-mp-4.7 mytarget.cpp -o mytarget -Wl,-rpath,@loader_path/../lib,-rpath,@loader_path/../thirdparty/lib
Load command 15
cmd LC_RPATH
cmdsize 32
path @loader_path/../lib (offset 12)
Load command 16
cmd LC_RPATH
cmdsize 48
path @loader_path/../thirdparty/lib (offset 12)
最佳答案
根据documentation ,路径不应该用冒号分隔,而应该用 分号 :
set_target_properties(mytarget
PROPERTIES
INSTALL_RPATH "@loader_path/../lib;@loader_path/../thirdparty/lib"
)
set
让 CMake 处理分隔符:
set(MY_INSTALL_RPATH
"@loader_path/../lib"
"@loader_path/../thirdparty/lib"
)
set_target_properties(mytarget
PROPERTIES
INSTALL_RPATH "${MY_INSTALL_RPATH}"
)
set_property
,它接受多值属性:
set_property(
TARGET mytarget
PROPERTY INSTALL_RPATH
"@loader_path/../lib"
"@loader_path/../thirdparty/lib"
)
关于cmake - 如何在 MacOS 上使用 CMake 设置多个 RPATH 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146437/
我是一名优秀的程序员,十分优秀!