如何包含文件夹中的所有源文件? (C ++,MS VS 2013)

时间:2015-12-05 14:17:06

标签: c++ syntax include

我有一个简单的项目,我使用微小的ttmath library进行C ++(大词汇)。 该库包含13 * .h文件。 我以愚蠢的方式包含了所有这些文件:

 #include "ttmath\ttmath.h"
 #include "ttmath\ttmathbig.h"
 #include "ttmath\ttmathdec.h"
 #include "ttmath\ttmathint.h"
 #include "ttmath\ttmathmisc.h"
 #include "ttmath\ttmathobjects.h"
 #include "ttmath\ttmathparser.h"
 #include "ttmath\ttmaththreads.h"
 #include "ttmath\ttmathtypes.h"
 #include "ttmath\ttmathuint.h"
 #include "ttmath\ttmathuint_noasm.h"
 #include "ttmath\ttmathuint_x86.h"
 #include "ttmath\ttmathuint_x86_64.h"

正确的方法是什么?我希望smth像这样:

#include "ttmath\*.h"

但找不到......

2 个答案:

答案 0 :(得分:1)

预处理器内置了“include all”。它也不接受文件名中的通配符。你必须手动包括所有这些。

一个常见的解决方案是将所有包含放在一个新的.h文件中,并在每次需要所有包含时包含该文件。

答案 1 :(得分:1)

  

正确的方法是什么?我希望smth像这样:

     

#include "ttmath\*.h"

     

但找不到......

这不起作用,因为预处理器不会像你期望通配符一样工作来扩展字符以匹配事物。

我的建议是创建一个自己的自定义头文件,并将所有#include条目放在那里。例如,在.c文件中,您可以添加自己的标题:

#include "my_header.h"

my_header.h的内容将是:

#include "ttmath\ttmath.h"
#include "ttmath\ttmathbig.h"
#include "ttmath\ttmathdec.h"
#include "ttmath\ttmathint.h"
#include "ttmath\ttmathmisc.h"
#include "ttmath\ttmathobjects.h"
#include "ttmath\ttmathparser.h"
#include "ttmath\ttmaththreads.h"
#include "ttmath\ttmathtypes.h"
#include "ttmath\ttmathuint.h"
#include "ttmath\ttmathuint_noasm.h"
#include "ttmath\ttmathuint_x86.h"
#include "ttmath\ttmathuint_x86_64.h"

基本上,你把所有东西放在一个标题中,而不是包含那个。