>> 以链接hiredis库为例,我的静态库位于/usr/local/lib下
CC = gcc # C 编译器
CXX = g++ # C++ 编译器
CXXFLAGS = -fPIC -shared -std=c++17 -D SKIP_HEADER -lstdc++fs -I/usr/local/include/hiredis # C++ 编译选项,g 选项表示要将调试信息编译到可执行文件中
# LDFLAGS = -lhiredis
# STATICLIBS = -lhiredis
# LDFLAGS += -leasylogging++
# LDFLAGS = -shared -Wl,--whole-archive $(STATICLIBS) -Wl,--no-whole-archive
LDFLAGS = -L/usr/local/lib -ldl -pthread -Wl,-rpath,/usr/local/lib
LIBS = /usr/local/lib/libhiredis.a
TARGET = ./lib/libGlobalPlanning-2024-04-26.so
SRC = src/main.cpp
OBJS = $(SRC:.cpp = .o)
$(TARGET): $(OBJS)
$(CXX) $(CXXFLAGS) $^ $(LDFLAGS) $(LIBS) -o $@
.PHONY: clean
clean:
-rm $(TARGET) $(OBJS)