zoukankan      html  css  js  c++  java
  • C1803 预编译头文件来自编译器的其他版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

    以前都可以成功编译的项目,今天只添加了一个对话框,就不行了,

    提示“C1803 预编译头文件来自编译器的其他版本,或者预编译头为 C++ 而在 C 中使用它(或相反)”

    这是什么毛病呢?

    上网搜一下,发现让我在刚添加的对话框cpp文件属性里设置为“不使用预编译头”,

    改完之后确实编译成功了,

    可是我手贱啊,又打开了项目里一个别的文件,然后一编译,又出现这个错误了!

    难道也要把这个文件设置成不使用预编译头?

    把它也设置为不使用,果然又编译成功了!

    这是什么道理?难道我每打开一个文件都要把这个打开过的文件设置成不使用预编译头?

    那我不如把整个项目的属性都设置成不使用预编译头得了!这么设置完发现确实可以。

    但是为啥有预编译头这么一个东西呢?查一查发现:使用预编译头可以将公用的文件提前编译好,放到一个pch文件里,

    因为这些公用的文件不经常更改,就不用每次编译都浪费时间编译他们,直接读取pch文件即可,这样可以提高编译速度。

    也就是说我要是禁用了项目的预编译头,那么每次编译时肯定会慢。

    那么就知道这个问题出在哪里了,肯定是VS升级之后,以前编译的pch文件,现在不能用了,那么把项目清理一下,

    重新编译一遍即可。事实证明这么做完全正确。

  • 相关阅读:
    实战-百度云[大文件/文件夹]下载限制破解
    IOCP之客户端及消息传递
    IOCP简单实现
    Charles V4系列更新 | 绿色特别版 | 视频教程
    Charles 3.11.5 绿色特别版
    VC运行库合集2005/2008/2010/2012/2013/2015
    手游测试之《弱网测试》
    后端性能测试不可不知的二三事
    linux性能指标及分析工具
    Shell笔记-04
  • 原文地址:https://www.cnblogs.com/sinceret/p/14421262.html
Copyright © 2011-2022 走看看