g++ 多文件编译之“平级目录”(新手初识makefile)

来源:互联网 发布:淘宝商城软包 编辑:程序博客网 时间:2024/05/18 09:03

使用管道去进行虚拟机和主机数据交换,我才得以把这而代码从WM中取出来。。是不是很囧

平级目录,就是两个文件夹在同一个文件夹里面,那么如果我们把程序入口的cpp放在了一个里面,而依赖的函数、类的定义在其他目录,这样就构成了一个简单的平级目录关系,在Windows下呆久了根本不需考虑这些问题,现在入住Linux问题就来了,之前还纠结了许久,现在弄好了一个,算是为以后的研究奠定基础吧。

问题重述:

src/demo/main.cpp

src/Space/Space1/test1.cpp,test1.h\

下面是每个文件的内容:

//main.cpp

#include <iostream>

using namespace std;

#include "../Space/Space1/test1.h"

using namespace Tests;

int main()

{

       Test1 test1;

       cout<<"Hello Windy,I am your first app:"<<endl;

       cout<<test1.GetA()<<endl;

       return 0;

}

//test1.cpp

#include"test1.h"

using namespace Tests;

Test1::Test1(){

       this->a = 1;

}

int Test1::GetA(){

       return this->a;

}

void Test1::SetA(int n){

       this->a = n;

}

Test1::~Test1(){}

 //test1.h

namespace Tests{

class Test1{

private:

       int a;

public:

       Test1();

       int GetA();

       void SetA(int n);

       ~Test1();      

};

}

# makefile 放在了src下

#VPATH = demo:Space/Space1

vpath % demo

vpath % Space/Space1

OBJS = main.o test1.o

main: $(OBJS)

        g++ -o main $(OBJS)

clean:

        rm main $(OBJS)


这样make一下就好了,使用vpath去搜索目录

原创粉丝点击