簡體   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