我试图在Mac上使用OpenMP
。
编译后,运行二进制文件时,
我得到了
dyld: Library not loaded: @rpath/libomp.dylib
Referenced from: ./lab1
Reason: image not found
[1] 64552 trace trap ./lab1
我用otool找出它所期望的路径。
otool -L lab1
lab1:
@rpath/libomp.dylib (compatibility version 5.0.0, current version 5.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
此必需的库libomp.dylib
位于路径/usr/local/opt/llvm/lib
。
如何让二进制文件找到它?
答案 0 :(得分:1)
尝试使用CMake POST_BUILD
操作添加所需的路径到可执行文件的路径:
add_custom_command(TARGET lab1
POST_BUILD COMMAND
${CMAKE_INSTALL_NAME_TOOL} -add_rpath /usr/local/opt/llvm/lib
$<TARGET_FILE:lab1>)
仅当lab1
是使用add_executable
创建的CMake可执行目标时才有效。