Dll 如何链接makefile中的另一个库
我的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
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/”