今天在用mac编译udt代码时,
make完之后会产生一个动态库libudt.dylib。
但在 Mac 系统中,默认搜索库的路径是 /usr/lib ,并不像 Windows 一样 dll 放在和 exe 同级目录下也会被搜索到。
因此会产生dyld: Library not loaded的问题。
每一个 dylib 库自身有一个 id 值会告诉可执行文件自己的位置,例如下面是libudt.dylib 库,我们可以使用如下命令查看其信息:
otool -L libudt.dylib
返回结果:
libudt.dylib:
libudt.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 307.5.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1238.60.2)