2013-11-24 58 views
0

链接另一个库我有我的生成文件(不是我写的),像现在如下我怎么在生成文件

 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 [email protected] 
    @$(CXX) -o [email protected] $(OBJECTS) $(LDFLAGS) 

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

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

include $(DEPENDS) 

我想链接libfmodex.so这是在当前目录中,我试图把它的地方在代码中使用-L。 libfmodex.so,但gcc说g ++:错误:libfmodex.so:没有这样的文件或目录,但我知道它在当前目录中,我该如何链接它?

回答

0

添加到LDFLAGS变量是这样的:-L. -lfmodex

+0

在/ usr /斌/劳工处:找不到-lfmodex – cakester

+0

为什么它寻找在/ usr/bin中/ LD文件夹我的.so文件,而不是我当前文件夹? – cakester

+0

@ user961936:这不是错误的含义。这意味着位于/ usr/bin,*中的程序ld无法找到.so文件。 – Beta