前言
makefile推荐资料为陈皓的跟我一起写makefile,需要pdf资源的可以私我
正文
目录结构
---include
------student.h
---src
------student.cc
------main.cc
---makefile
makefile文件
vpath %.h ./include
vpath %.cc ./src
CC = g++
object = main.o student.o
all: exe
exe: ${object}
${CC} -o $@ ${object}
#main.o: main.cc student.h
# g++ -c $< -I./include
#student.o: student.cc student.h
# g++ -c $< -I./include
${object}: %.o: %.cc student.h
${CC} -c $< -I./include
.PHONE:clean
clean:
rm -rf ${object} exe
student.h代码
#ifndef _STUDENT
#define _STUDENT
#include <string>
class Student
{
public:
Student(int id,std::string name);
std::string getName();
private:
int id;
std::string name;
};
#endif
student.cc代码
#include "student.h"
Student::Student(int id,std::string name):id(id),name(name){ }
std::string Student::getName()
{
return name;
}
main.cc代码
#include<iostream>
#include"student.h"
using namespace std;
int main()
{
int id = ;
std::string name = "pcxie";
Student pcxie(id,name);
cout<<"hello world"<<endl;
cout<<pcxie.getName()<<endl;
return ;
}
执行make all后的目录结构
---include
------student.h
---src
------student.cc
------main.cc
---makefile
---main.o
---student.o
---exe