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