我编译了一个可执行文件,该文件链接到Mac OS上的某个库a.dyld
,该文件使用cmake位于/mylib
中。
当我尝试运行该程序时,出现错误消息:
dyld: library not loaded a.dyld
Referenced from: path the executable file belongs
Reason: imagh not found.
因此,如果我将环境变量$DYLD_LIBRARY_PATH
设置为/mylib
,则程序可以正常工作。
但是我不想这样做,因为它会强制每个可执行文件查找相同的库。 (我在许多目录中都有多个同名的库,其中每个目录名都指定了库的功能。)
是否可以从cmake设置$DYLD_LIBRARY_PATH
?
说,我有多个目录,例如
test_project
|--CMakeLists.txt
|--/src
|--CMakeLists.txt (build b.dyld)
... (programs for b.dyld)
|--/run_test1
|-- CMakeLitsts.txt (link b.dyld, and a.dyld under /mylyb1)
|-- (programs to be run)
|--/run_test2
|-- CMakeLitsts.txt (link b.dyle, and a.dyld under /mylyb2)
|-- (programs to be run)
... (/run_testN)