dan*_*n-O 4 c++ stdafx.h visual-studio
想象一下以下源文件:
src/StdAfx.h
src/moresrc/MyFile.cpp
Run Code Online (Sandbox Code Playgroud)
在MyFile.cpp,我需要包含预编译的头文件StdAfx.h.
如果我这样做:
#include "../StdAfx.h"
Run Code Online (Sandbox Code Playgroud)
然后我会得到编译器错误:
warning C4627: '#include "../stdafx.h"': skipped when looking for precompiled header use
fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
Run Code Online (Sandbox Code Playgroud)
所以这不起作用.如果我这样做的话
#include "StdAfx.h"
Run Code Online (Sandbox Code Playgroud)
然后编译正确,但我得到Visual Studio 2013中突出显示的恼人错误,如下所示:

所以,就像我说的,这个编译,但它很烦人.
如何在没有下划线的情况下包含"StdAfx.h",但是它会编译?
您可以将$(ProjectDir)(项目根目录)添加到项目选项(C++ - >常规 - >其他包含目录)中的目录列表中.然后,您将能够在包含中指定相对于项目根目录的路径.例如,如果你有utils/a.h并且想要使用它,foo/bar/b.h你可以写#include "utils/a.h"而不是#include "../../utils/a.h".如果您拥有stdafx.h项目根目录,则可以将其包含在内#include "stdafx.h".
| 归档时间: |
|
| 查看次数: |
1432 次 |
| 最近记录: |