制作和链接库

帕拉多克斯

我正在尝试编译使用zeromq的程序。makefile的这一部分引用了zeromq库。

LIBS=-lzmq -ldl -lsqlite3 $(OPTLIBS)

我在ubuntu上,库(libzmq.so)位于/ usr / local / lib中。我不明白lzmq指的是什么。图书馆是否在某处注册?如何定义lzmq指向的路径?

疯狂的科学家

该选项-lzmq是链接器标志-l,后跟参数zmq链接器标志-l告诉链接器链接库zmq链接器将以各种形式在该目录的各个目录中查找该名称的库。例如,在典型的POSIX系统上,它将查找libzmq.so(共享库),然后是libzmq.a(静态库)。

它查找的目录是一组默认目录(通常/usr/local/lib是其中的一个,但并不总是),以及在带有该-L标志的链接行上指定的任何目录因此,添加-L/usr/local/lib到链接行(在之前-lzmq)将使链接器搜索/usr/local/lib该库。

有关更多详细信息,请参见编译器和链接器的文档。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章