gpt4 book ai didi

c++ - 在 Linux 上链接 Zeromq 库的 Makefile 问题

转载 作者:行者123 更新时间:2023-11-30 02:49:16 25 4
gpt4 key购买 nike

我正在处理一个项目并尝试编译我的代码。我只是将此代码从 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 机器上通过它的压缩包安装了 zeromq,并手动将 zmq.hpp 添加到/usr/local/include 文件夹。我怀疑我在我的 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 变量指定的位置。

关于c++ - 在 Linux 上链接 Zeromq 库的 Makefile 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21381993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com