2011-02-22 127 views
0

文件在我app.cpp文件我有以下行:#include "indri/Repository.hpp"CPP編譯錯誤:包含未找到

然而,當我運行make(下生成文件):我收到以下錯誤:

indri/Repository.hpp:22:32: error: indri/Parameters.hpp: No such file or directory 

原因是Repository.hpp包含在同一個文件夾中的其他hpp,但它使用「indri/*.hpp」而不是「*.hpp」。

我錯過了什麼? 謝謝

## your application name here 
APP=myapp 
SRC=$(APP).cpp 
## extra object files for your app here 
OBJ= 

prefix = /usr/local 
exec_prefix = ${prefix} 
libdir = ${exec_prefix}/lib 
includedir = ${prefix}/include 
INCPATH=-I$(includedir) 
LIBPATH=-L$(libdir) 
CXXFLAGS=-DPACKAGE_NAME=\"Indri\" -DPACKAGE_TARNAME=\"indri\" -DPACKAGE_VERSION=\"5.0\" -DPACKAGE_STRING=\"Indri\ 5.0\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DYYTEXT_POINTER=1 -DINDRI_STANDALONE=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_NAMESPACES= -DISNAN_IN_NAMESPACE_STD= -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FSEEKO=1 -DHAVE_EXT_ATOMICITY_H=1 -DP_NEEDS_GNU_CXX_NAMESPACE=1 -DHAVE_MKSTEMP=1 -DHAVE_MKSTEMPS=1 -DNDEBUG=1 -g -O3 $(INCPATH) 
CPPLDFLAGS = -lindri -lz -lpthread -lm 

all: 
    $(CXX) $(CXXFLAGS) $(SRC) -o $(APP) $(OBJ) $(LIBPATH) $(CPPLDFLAGS) 

clean: 
    rm -f $(APP) 

回答

2

你忘了添加當前目錄嗎?

## your application name here 
APP=myapp 
SRC=$(APP).cpp 
## extra object files for your app here 
OBJ= 

prefix = /usr/local 
exec_prefix = ${prefix} 
libdir = ${exec_prefix}/lib 
includedir = ${prefix}/include 
INCPATH=-I$(includedir) -I. # can you spot the difference? 
LIBPATH=-L$(libdir) 
CXXFLAGS=-DPACKAGE_NAME=\"Indri\" -DPACKAGE_TARNAME=\"indri\" -DPACKAGE_VERSION=\"5.0\" -DPACKAGE_STRING=\"Indri\ 5.0\" -DPACKAGE_BUGREPORT=\"[email protected]\" -DYYTEXT_POINTER=1 -DINDRI_STANDALONE=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -DHAVE_LIBZ=1 -DHAVE_NAMESPACES= -DISNAN_IN_NAMESPACE_STD= -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FSEEKO=1 -DHAVE_EXT_ATOMICITY_H=1 -DP_NEEDS_GNU_CXX_NAMESPACE=1 -DHAVE_MKSTEMP=1 -DHAVE_MKSTEMPS=1 -DNDEBUG=1 -g -O3 $(INCPATH) 
CPPLDFLAGS = -lindri -lz -lpthread -lm 

all: 
    $(CXX) $(CXXFLAGS) $(SRC) -o $(APP) $(OBJ) $(LIBPATH) $(CPPLDFLAGS) 

clean: 
    rm -f $(APP) 
+0

好吧,我剛剛從狐猴網站下載了makefile。現在它的作用是感謝,他們可能忘記了嗎?奇怪.. – aneuryzm 2011-02-22 18:32:35