ld:找不到 -l 的库:/usr/local/lib/libopencv_xphoto.3.0.0.dylib

ld: library not found for -l:/usr/local/lib/libopencv_xphoto.3.0.0.dylib

这是在 OS X 10.10.4 上,使用 rosmake(来自机器人操作系统)

ld: library not found for -l:/usr/local/lib/libopencv_xphoto.3.0.0.dylib

我收到上述错误消息。我感觉问题出在 l 之后插入的冒号? /usr/local/lib/libopencv_xphoto.3.0.0.dylib绝对存在。

tl;dr 是的,: 是问题。

我不知道 rosmake 是什么,但链接器需要一个 -L 选项,指定库路径,以及一个 -l 选项,指定库:

-L/usr/local/lib -lopencv_xphoto

如果您想区分 .a.dylib 文件,通常只使用 -l/usr/local/lib/libopencv_xphoto.3.0.0.dylib。如果不这样做,则同时使用 -L-l.