none
VS2013的智能感知不能正确判断 #include "stdafx.h" RRS feed

  • 问题

  • 如果源文件和stdafx.h不在同一个目录,例如:

    /stdafx.h
    /SomeFolder/SomeFile.cpp
    

    在SomeFile.cpp中,如果写:

    #include "stdafx.h" // 则智能感知找不到stdafx.h。右键菜单的 Open Document "stdafx.h" 也是打不开文件的

    #include "../stdafx.h" //编译不通过,提示我用 #include "stdafx.h"

    将stdafx.h所在目录,加入 "Additional Include Directories" 也不行。

    2015年5月5日 4:45

答案

  • 预编译头文件跟一般的头文件是有区别的。如果你想把stdafx.h文件存储到其他文件里你要在project properties-> C/C++ ->precompile header-> precompile header file 里设置完整的文件路径。如图:


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Shu 2017 2015年6月10日 2:35
    2015年5月6日 7:13
  • 我又试了一下把stdafx.h的目录加入 "Additional Include Directories" 是可以了。

    我觉得你的解决方案并不好。因为如果我的代码是使用文件夹来组织结构,而不用vs自带的Filter,那样的话,可能要在不同文件夹中的cpp文件使用不同的配置,或者使用绝对路径的配置。

    我在这里发帖,是因为这是一个明显的编译器和智能感知行为不一致的地方,我觉得是vs的bug。

    • 已标记为答案 Shu 2017 2015年6月10日 2:35
    2015年5月7日 2:36

全部回复

  • 预编译头文件跟一般的头文件是有区别的。如果你想把stdafx.h文件存储到其他文件里你要在project properties-> C/C++ ->precompile header-> precompile header file 里设置完整的文件路径。如图:


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Shu 2017 2015年6月10日 2:35
    2015年5月6日 7:13
  • 我又试了一下把stdafx.h的目录加入 "Additional Include Directories" 是可以了。

    我觉得你的解决方案并不好。因为如果我的代码是使用文件夹来组织结构,而不用vs自带的Filter,那样的话,可能要在不同文件夹中的cpp文件使用不同的配置,或者使用绝对路径的配置。

    我在这里发帖,是因为这是一个明显的编译器和智能感知行为不一致的地方,我觉得是vs的bug。

    • 已标记为答案 Shu 2017 2015年6月10日 2:35
    2015年5月7日 2:36