繁体   English   中英

Makefile在Linux上链接Zeromq库的问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM