Error C1083: Cannot open include file: 'stdafx.h'

前端 未结 6 1529
小鲜肉
小鲜肉 2020-12-03 14:40

When I compiled this program (from C++ Programming Language 4th edition):

main.cpp

#include 
#include 
#incl         


        
相关标签:
6条回答
  • 2020-12-03 14:50

    There are two solutions for it.

    Solution number one: 1.Recreate the project. While creating a project ensure that precompiled header is checked(Application settings... *** Do not check empty project)

    Solution Number two: 1.Create stdafx.h and stdafx.cpp in your project 2 Right click on project -> properties -> C/C++ -> Precompiled Headers 3.select precompiled header to create(/Yc) 4.Rebuild the solution

    Drop me a message if you encounter any issue.

    0 讨论(0)
  • 2020-12-03 14:53

    Just include windows.h instead of stdfax or create a clean project without template.

    0 讨论(0)
  • 2020-12-03 14:55

    You can fix this problem by adding "$(ProjectDir)" (or wherever the stdafx.h is) to list of directories under Project->Properties->Configuration Properties->C/C++->General->Additional Include Directories.

    0 讨论(0)
  • 2020-12-03 14:57

    Add #include "afxwin.h" in your source file. It will solve your issue.

    0 讨论(0)
  • 2020-12-03 14:58

    You have to properly understand what is a "stdafx.h", aka precompiled header. Other questions or Wikipedia will answer that. In many cases a precompiled header can be avoided, especially if your project is small and with few dependencies. In your case, as you probably started from a template project, it was used to include Windows.h only for the _TCHAR macro.

    Then, precompiled header is usually a per-project file in Visual Studio world, so:

    1. Ensure you have the file "stdafx.h" in your project. If you don't (e.g. you removed it) just create a new temporary project and copy the default one from there;
    2. Change the #include <stdafx.h> to #include "stdafx.h". It is supposed to be a project local file, not to be resolved in include directories.

    Secondly: it's inadvisable to include the precompiled header in your own headers, to not clutter namespace of other source that can use your code as a library, so completely remove its inclusion in vector.h.

    0 讨论(0)
  • 2020-12-03 15:12

    Just running through a Visual Studio Code tutorial and came across a similiar issue.

    Replace #include "stdafx.h" with #include "pch.h" which is the updated name for the precompiled headers.

    0 讨论(0)
提交回复
热议问题