2013-11-24 26 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