我正在尝试编译使用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] 删除。
我来说两句