共享库存在一些问题

Having some issues with shared libraries

本文关键字:问题 存在 共享      更新时间:2023-10-16

我正在为源代码编译一个程序,但它没有找到一些用它编译的动态库。这是我运行可执行文件时的输出。(编译正常)

dyld: Library not loaded: libipeqtcanvas.so.7.0.14
  Referenced from: /Users/zrbecker/testipe/bin/./ipe
  Reason: image not found
Trace/BPT trap

我的问题是,我知道 -L 在编译时会找到库,但是我如何确保程序在运行时可以找到库。

库位于相对路径../lib 来自 bin 目录中的可执行文件。

您可以在

运行时设置LD_LIBRARY_PATH(或实际上,DYLD_LIBRARY_PATH,因为您在OS X上)以包含库目录。

export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/path/to/lib"