5
如何在MacOS上的CMake中的目標上設置多個RPATH目錄?在Linux中,我們可以只使用一個冒號分隔的列表:如何在MacOS上使用CMake設置多個RPATH目錄
set_target_properties(mytarget
PROPERTIES
INSTALL_RPATH "\$ORIGIN/../lib:\$ORIGIN/../thirdparty/lib"
)
在MacOS上,我們可以在技術上加冒號分隔列表和otool -l
應該表現出來,但這些目錄不搜索:
set_target_properties(mytarget
PROPERTIES
INSTALL_RPATH "@loader_path/../lib:@loader_path/../thirdparty/lib"
)
通常,如果我要在MacOS上有多個RPATH目錄,我會發送多個鏈接器標記,並且這些標記將分別顯示爲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)
如何重建與CMake的這種行爲?
..或使用'set_property(TARGET)'。 – Tsyvarev
@wasthishelpful像魅力一樣工作。謝謝! – wyer33