C ++:如何包含文件夹中的所有源文件?

时间:2010-09-20 11:08:51

标签: c++ visual-studio-2008 include

我已将每个功能放在自己的文件中。

如何在不重复每个文件的#include的情况下一次性包含所有这些功能?我不在乎功能的包含顺序。

编辑:数百个不同文件中的所有功能属于同一组。实际上每个文件都有4个函数......

4 个答案:

答案 0 :(得分:8)

考虑你的文件。

file1.h

int plus(int a, int b);

file2.h

int minus(int a, int b);

file3.h

int mult(int a, int b);

file4.h

void drawcircle(int r, int xc, int yc);

file5.h

void drawsquare(int x0, int y0, int x1, int y1);

file6.h

void printresults();

现在将文件分成几组。制作以下文件。

math_funcs.h

#include "file1.h"
#include "file2.h"
#include "file3.h"

draw_funcs.h

#include "file4.h"
#include "file5.h"

output_funcs.h

#include "file6.h"

然后制作all.h文件。

<强> all.h

#include "math_funcs.h"
#include "draw_funcs.h"
#include "output_funcs.h"

答案 1 :(得分:2)

使用预建步骤并执行如下所示的批处理文件:

@echo off
setlocal 
set file=test.h
echo // generated > %file%
for %%f in (*.h) do echo #include "%%f" >> %file%

然后包括test.h。

在VS2008中,您可以在“项目” - “属性” - “配置属性” - “构建事件” - “预建事件”中添加预建步骤。

将“命令行”设置为     $(PROJECTDIR)\ TEST.CMD 并将test.cmd(带有上述条件)复制到项目目录。

答案 2 :(得分:1)

  1. 将包含函数定义(函数体)的所有文件添加到项目中
  2. 您编写一个头文件,其中包含您的函数声明。
  3. 您需要包含该标题。

答案 3 :(得分:0)

C还是C++问题?

在C ++中,您通常每个都有文件,而不是函数。如果在每个课程中有一个.h和.cpp文件后,你仍然有数百个在一个目录中,你需要重新考虑你的设计。您可能需要更多的抽象层,并且可以将文件分成几个目录。