【发布时间】:2016-04-08 12:53:54
【问题描述】:
我正在尝试为我的源代码和标题构建一个带有单独文件夹的 Makefile。我有一个项目的根目录,其中包含一个包含我的 .hpp 文件的包含文件夹,以及一个包含我的 .cpp 文件的源文件夹。我如何构建 Makefile,它使用相应的 .hpp 文件构建所有 .cpp ?
如何在名为 build 的文件夹中创建程序输出?
提前谢谢你
【问题讨论】:
我正在尝试为我的源代码和标题构建一个带有单独文件夹的 Makefile。我有一个项目的根目录,其中包含一个包含我的 .hpp 文件的包含文件夹,以及一个包含我的 .cpp 文件的源文件夹。我如何构建 Makefile,它使用相应的 .hpp 文件构建所有 .cpp ?
如何在名为 build 的文件夹中创建程序输出?
提前谢谢你
【问题讨论】:
Make 是如此多样化,有很多方法可以做到这一点,但最终结果是 -I<your hpp path>(或 -J)需要传递给编译器以告诉它在解析 #include 时要搜索的其他包含路径
路径需要相对于规则目录的调用,或者相对于文件(我很确定编译器会搜索两者)。
许多 makefile 使用 CPPOPTS 和 CCOPTS 或 makefile 中的一些变体来将额外的选项传递给 C 或 CPP 编译器。尝试添加:
CPPOPTS += -I..\include
到你的makefile(假设你已经隔离了你的源代码并以这种方式包含文件)。
同样,这完全取决于您的 makefile。
【讨论】:
CPPOPTS 提供了 1590 次点击,为CPPFLAGS 提供了 360000 次点击。因此,相对而言,使用 CPPOPTS 的 makefile 并不多。
我正在尝试为我的源代码和标题构建一个带有单独文件夹的 Makefile。
另一种方法是将标题与.cpp 文件放在同一目录中。在顶级包含文件夹中,您可以将符号链接放置到标题中。
【讨论】:
-I 或-J