Dll 如何链接makefile中的另一个库

Dll 如何链接makefile中的另一个库,dll,build,makefile,shared-libraries,Dll,Build,Makefile,Shared Libraries,我的makefile(不是我自己写的)如下 SOURCES = $(wildcard *.cpp) OBJECTS = $(SOURCES:.cpp=.o) DEPENDS = $(SOURCES:.cpp=.d) LDFLAGS = $(shell pkg-config --libs gtkmm-2.4 gtkglextmm-1.2 lua5.1) -llua5.1 CPPFLAGS = $(shell pkg-config --cflags gtkmm-2.4 gtkglex

我的makefile(不是我自己写的)如下

        SOURCES = $(wildcard *.cpp)
OBJECTS = $(SOURCES:.cpp=.o)
DEPENDS = $(SOURCES:.cpp=.d)
LDFLAGS = $(shell pkg-config --libs gtkmm-2.4 gtkglextmm-1.2 lua5.1) -llua5.1
CPPFLAGS = $(shell pkg-config --cflags gtkmm-2.4 gtkglextmm-1.2 lua5.1)
CXXFLAGS = $(CPPFLAGS) -W -Wall -g
CXX = g++
MAIN = game

all: $(MAIN)

depend: $(DEPENDS)

clean:
    rm -f *.o *.d $(MAIN)

$(MAIN): $(OBJECTS)
    @echo Creating $@...
    @$(CXX) -o $@ $(OBJECTS) $(LDFLAGS) 

%.o: %.cpp
    @echo Compiling $<...
    @$(CXX) -o $@ -c $(CXXFLAGS) $<

%.d: %.cpp
    @echo Building $@...
    @set -e; $(CC) -M $(CPPFLAGS) $< \
                  | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \
                [ -s $@ ] || rm -f $@

include $(DEPENDS)
SOURCES=$(通配符*.cpp)
对象=$(源:.cpp=.o)
依赖项=$(源:.cpp=.d)
LDFLAGS=$(shell包配置--libs gtkmm-2.4 gtkglextmm-1.2 lua5.1)-llua5.1
CPPFLAGS=$(外壳程序包配置--cflags gtkmm-2.4 gtkglextmm-1.2 lua5.1)
CXXFLAGS=$(CPPFLAGS)-W-Wall-g
CXX=g++
主要=游戏
全部:$(主)
依赖:$(依赖)
清洁:
rm-f*.o*.d$(主)
$(主):$(对象)
@echo正在创建$@。。。
@$(CXX)-o$@$(对象)$(LDFLAGS)
%.o:%.cpp
@echo编译$$@\
[-s$@]| rm-f$@
包括美元(视情况而定)

现在我想链接当前目录中的libfmodex.so,我试着将它与-L.libfmodex.so放在代码中的某个地方,但是gcc说g++:error:libfmodex.so:没有这样的文件或目录,但我知道它在当前目录中,如何将其链接?

添加到
LDFLAGS
变量中,例如:
-L.-lfmodex

/usr/bin/ld:找不到-lfmodex为什么要在/usr/bin/ld文件夹中搜索我的.so文件而不是我的当前文件夹?@user961936:这不是错误的意思。这意味着位于/usr/bin中的程序ld找不到.so文件。您已将此问题标记为已回答。你还有问题吗?是否?问题已解决,使用您的解决方案加上导出LD_LIBRARY_PATH=“/PATH/to/LIBRARY/”