none
fatal error C1083: 无法打开包括文件:“StdAfx.h” RRS feed

  • 问题

  • #include"StdAfx.h"

    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
    {
     MessageBox(NULL,TEXT("Hello,WindowXP!"),TEXT("HelloMsg"),0);
     return 0;
    }

    一个简单的程序  我的头文件在 在预编译头中设为了 创建预编译头   为什么还是找不到

    2010年3月13日 3:15

答案

  • 如果你的stdafx可用可不用,最简单的解决办法就是在工程里面将预编译头设成Not Using Precompiled Headers。除非你用的是MFC, MFC不加预编译头确实是编译起来太慢了。

    创建预编译头时编译器会根据你的stdafx.h文件生成一个pch文件,其主要内容就是把头文件中函数/结构定义,这样你编译时就不用每个cpp文件都得搜索所有的头文件了,直接读pch了。

    每次你对设置的预编译头文件修改后,在下次编译时都会重新生成pch


    0xBAADF00D
    2010年3月13日 6:38
    版主

全部回复

  • 工程也没有建错地方
    2010年3月13日 3:15
  • 我在右边的项目中自己把运行正常的 stdafx.h文件添加进去后 在预编译头中 设置为使用预编译头 结果还是找不到 stdafx.h文件   --!
    2010年3月13日 3:30
  • 把stdafx.h文件添加进项目后,  在预编译头中 设置为创建编译头   才能正常的运行   请问我不是已经添加了stdafx.h文件,为什么在预编译头中还要设为创建而不是使用编译头      谁帮我解释下  非常感谢
    2010年3月13日 3:47
  • 如果你的stdafx可用可不用,最简单的解决办法就是在工程里面将预编译头设成Not Using Precompiled Headers。除非你用的是MFC, MFC不加预编译头确实是编译起来太慢了。

    创建预编译头时编译器会根据你的stdafx.h文件生成一个pch文件,其主要内容就是把头文件中函数/结构定义,这样你编译时就不用每个cpp文件都得搜索所有的头文件了,直接读pch了。

    每次你对设置的预编译头文件修改后,在下次编译时都会重新生成pch


    0xBAADF00D
    2010年3月13日 6:38
    版主