当前位置: 技术问答>linux和unix
makefile文件的编写
来源: 互联网 发布时间:2016-02-20
本文导语: 在编写makefile中怎么写编译一个不在当前目录下的的.cpp文件 例:object = main.o text.o main: $(object) g++ -o main $(object) main.o: main.cpp text.h XMLHandle.h g++ -c main.cpp text.o: text.cpp text.h gcc -c text.cpp 在修改的过程...
在编写makefile中怎么写编译一个不在当前目录下的的.cpp文件
例:object = main.o text.o
main: $(object)
g++ -o main $(object)
main.o: main.cpp text.h XMLHandle.h
g++ -c main.cpp
text.o: text.cpp text.h
gcc -c text.cpp
在修改的过程中我要把新的文件Text3.h,Text3.cpp也添加到编译的文件中去,但Text.h在include目录下,Text.cpp在src目录下,要求在不移动文件的情况下添加到makefile中,请问怎么添加?
例:object = main.o text.o
main: $(object)
g++ -o main $(object)
main.o: main.cpp text.h XMLHandle.h
g++ -c main.cpp
text.o: text.cpp text.h
gcc -c text.cpp
在修改的过程中我要把新的文件Text3.h,Text3.cpp也添加到编译的文件中去,但Text.h在include目录下,Text.cpp在src目录下,要求在不移动文件的情况下添加到makefile中,请问怎么添加?
|
头文件的添加:如果头文件不在当前目录或系统搜索的目录(/usr/include)中,在编译参数中加入 -I (头文件所在目录即可)
至于cpp文件:makefile中给出它的绝对路径就行了
至于cpp文件:makefile中给出它的绝对路径就行了
|
VPATH=.:src
或者
vpath %.cpp ./src
或者
vpath %.cpp ./src
|
-I./include
|
假设include和src都在/home/name/path/目录下,你的makefile也在这个目录下,
定义路径变量:INCLUDE=./include/
src=/tech-qa-linux/src/_br/index.html> 之后把路径变量加到相应的头文件和源文件应该就行了
object = main.o text.o
main: $(object)
g++ -o main $(object)
main.o: main.cpp $(INCLUDE)text.h XMLHandle.h
g++ -c main.cpp
text.o: $(SRC)text.cpp $(INCLUDE)text.h
gcc -c $(SRC)text.cpp
定义路径变量:INCLUDE=./include/
src=/tech-qa-linux/src/_br/index.html> 之后把路径变量加到相应的头文件和源文件应该就行了
object = main.o text.o
main: $(object)
g++ -o main $(object)
main.o: main.cpp $(INCLUDE)text.h XMLHandle.h
g++ -c main.cpp
text.o: $(SRC)text.cpp $(INCLUDE)text.h
gcc -c $(SRC)text.cpp