感觉Linux下不会makefile少点什么。
先说下我的目录
test.cpp Makefile bin/ include/ a.h src/ a.cpp lib
makefile 文件
vpath %.h include vpath %.cpp src objects= obj/test.o INCLUDE = -I include SUBDIRS=adir LIB=-L lib -ltest .PHONY:all all: .PHONY:getlib getlib:lib/libtest.a lib/libtest.a:obj/a.o ar -r $@ $^ obj/a.o:a.cpp g++ -c $< -o $@ $(INCLUDE) .PHONY:getexe getexe:bin/Handle bin/Handle:$(objects) g++ $^ -o $@ $(INCLUDE) $(LIB) obj/test.o: test.cpp g++ -c $< -o $@ $(INCLUDE) .PHONY:clean clean: -rm lib/* obj/* bin/* ~a.h
#ifndef _A_H_ #define _A_H_ #include<iostream> using namespace std; class A { public: void Handle(); }; #endif
a.cpp
#include "a.h" void A::Handle(){ cout<<"这是A的一个函数!"<<endl; cout<<"这是A的一个函数!"<<endl; }
test.cpp
#include"a.h" #include<vector> int main(){ A a1; a1.Handle(); return 0; }
执行:
make getlib
make getexe
就会在 bin下生成执行文件 lib下生成lib文件
作者:king1076 发表于2013-11-28 1:12:41 原文链接
阅读:86 评论:0 查看评论