在单独的文件夹中使用源和标头构建makefile

时间:2016-04-08 12:53:55

标签: c++ linux makefile

我正在尝试使用单独的文件夹为我的源代码和标题构建一个Makefile。我的项目的根目录包含一个包含我的.hpp文件的include文件夹,以及一个包含我的.cpp文件的源文件夹。如何构建Makefile,使用相应的.hpp文件构建所有.cpp?

如何在名为build?

的文件夹中创建程序输出

提前谢谢

2 个答案:

答案 0 :(得分:1)

Make是如此多样化,有很多方法可以做到这一点,但最终结果是-I<your hpp path>(或-J)需要传递给编译器告诉它额外的包含搜索路径在解决#include

路径需要相对于规则目录的调用,或者相对于文件的调用(我非常确定编译器会搜索两者)。

许多makefile使用CPPOPTS和CCOPTS或makefile中的某些变体来将额外的选项传递给C或CPP编译器。尝试添加:

CPPOPTS += -I..\include

到您的makefile(假设您已经隔离了源代码并以这种方式包含文件)。

同样,这完全依赖于你的makefile。

答案 1 :(得分:0)

  

我正在尝试使用单独的文件夹为我的源代码和标题构建一个Makefile。

另一种方法是将您的标头放在与.cpp文件相同的目录中。在顶级包含文件夹中,您可以将符号链接放到标题中。