为什么我无法加载dylib?
这是我键入的命令:为什么我无法加载dylib?
clang++ -Iboost -Ijpeg_lib/include/ -Ljpeg_lib/lib/ -ljpeg.9 mandelbrot.cpp
的目录结构是这样的:
mandelbrot.cpp
/boost
/jpeg_lib/lib/
libjpeg.9.dylib
/jpeg_lib/include/
编译成功,但是当我运行的二进制文件,出现错误:
dyld:Library not loaded:/usr/local/lib/libjpeg.9.dylib
Refer enced从:/Users/hanxu/Documents/./a.out
原因:没有发现图像
跟踪/ BPT陷阱:5
我已指定的库中搜索路径jpeg_lib/include /,为什么程序仍在/ usr/local/lib中搜索?
你应该包括其中libjpeg.9.dylib
生活LD_LIBRARY_PATH
,这是需要在运行时找到该库的目录:
export LD_LIBRARY_PATH=/path/to/libjpeg
'LD_LIBRARY_PATH'是Linux(UNIX),在OSX下是'DYLD_LIBRARY_PATH'。 – *foe 2013-05-20 08:37:29
你检查权限您jpeg_lib?如果你安装了以root身份运行的任何东西,然后像你自己一样跑这可能发生了。
我刚刚以root用户的身份安装portmanteau后发现运行GD图形时出现的错误消息,发现libjpeg.9.dylib所在的/ usr/local/lib目录拥有权限700.更改到755(就像/ usr/local中的所有其他目录一样)解决了这个问题。
“'/ Users/hanxu/Documents /./ a.out'中的那个点对我来说看起来很奇怪。 – 2013-04-28 07:51:54
@MichaelDautermann,我刚刚复制了命令行结果。我使用“./a.out”来运行我的程序。这对我来说也很奇怪。 – HanXu 2013-04-28 08:00:44
是你正在创建一个Xcode项目的命令行工具,还是通过一个Makefile? – 2013-04-28 08:03:41