处理stdafx.h时有单独的目录库

时间:2012-08-08 18:31:57

标签: c++ visual-studio-2010

我的库包含许多目录,每个目录都包含libX.cpplibX.h个文件,其中X是目录名。一个libX可能会用于不同的项目。问题是,在编译每个项目时,stdafx.h中包括libX.cpp。我想我必须包含为当前项目生成的stdafx.h文件(如果我错了,请纠正我)。好的,我正在编写#include "some_absolute_path1\stdafx.h"例如libA.cpp文件。 但我在另一个项目中使用相同的libA.cpp然后我必须更改行

#include "some_absolute_path1\stdafx.h"

#include "some_absolute_path2\stdafx.h"

在项目之间切换时更改stdafx.h路径并不是很舒服。

处理这种情况的最佳方法是什么?

2 个答案:

答案 0 :(得分:0)

你不能使用stdafx.h。它仅用于预编译头文件。

您可以执行#include "some_absolute_path2\libX.h"

如果您仍想在预编译的头文件中使用#include "some_absolute_path2\libX.h",只需要需要该库的项目的stdafx.h。

答案 1 :(得分:0)

当您的lib使用该文件中定义的某些资源时,需要包含任何include。如果你需要包含stdafx.h是因为你有一些强迫它的依赖。您应该查看是什么原因导致您要求将此项目相关文件包含在库中(不是特定于项目)

我发现了这篇文章:http://en.wikipedia.org/wiki/Precompiled_header

然后我会尝试将stdafx.h移动到main.cpp中的第一个包含libx.h文件的包含。