[英]Makefile Issue linking Zeromq libs on Linux
我正在研究一个项目并试图编译我的代码。 我刚把这个代码从windows(VC ++)转移到linux上,它在windows上工作得很好,但是我无法在linux上编译它。
该程序使用zeromq进行TCP连接,我在构建时遇到了多个错误。 类型的错误:
/usr/local/include/zmq.hpp:372: undefined reference to `zmq_bind'
/usr/local/include/zmq.hpp:415: undefined reference to `zmq_msg_send'
我已经在我的linux机器上通过tarball安装了zeromq,并手动将zmq.hpp添加到/ usr / local / include文件夹中。 我怀疑我在makefile中做错了什么,这就是我收到这些错误的原因。
我在创建makefile方面有点弱,所以如果有人可以看看我并告诉我makefile是否存在导致这些问题的明显问题,我会非常感激。 这是我的makefile
C = g++
DEBUG = -g
CFLAGS = -g -Wall -std=c++11
LFLAGS = -L/usr/local/lib/
INCLUDES = -I/usr/local/
LIBS = -libzmq.la
SRCS = main.cpp NetworkTestServer.cpp
OBJS = $(SRCS:.cpp=.o)
EXECUTABLE = tester
all: $(SRCS) $(EXECUTABLE)
$(EXECUTABLE): $(OBJS)
$(CC) $(EXECUTABLE) -o $(EXECUTABLE) $(LIBS)
.cpp.o:
$(CC) $(CFLAGS) $< -o $@
clean:
$(RM) *.o *~ $(EXECUTABLE)
非常感谢
在我看来,你的LIBS
定义是错误的。
通常, lib
部分与扩展一起被省略。 所以,试试类似:
LIBS = -lzmq
如果这不起作用,请确保此库包含在LFLAGS
变量指定的位置中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.