zoukankan      html  css  js  c++  java
  • [转]在C++中容易出现的#error No Target Architecture

    项目环境:win 7 64位,编译环境:VS2013

    最近在写C++的项目,发现了自己很多不会的地方,这也使得我在C++中的成长变得比较快,下面我就说说我自己在写项目是遇到的一些问题,希望可以帮到一些人。

    首先要提的是:

    #error "No Target Architecture"
    既然我用高亮展示了,那说明这个错误大家还是比较容易遇到的,因为这个错误花费了很长时间,所以必须要给大家说说,首先它不是咱们自己的头文件而是VS系统的头文件,这就让人摸不着头脑了,所以这就可以肯定的是我们的程序写的有问题。从哪开始排查呢?我就和大家说说我的方法,一般我遇到系统的头文件提示出错:
    1、先看VS编译器的编译环境,是不是Debug模式,配置环境是不是X64(因为我的是64位的,这个因系统环境而异)
    2、然后检查项目属性页的代码生成中的运行库是不是多线程调试MDd,这点还是比较重要的
    3、前面都是检查编译器及系统的,现在开始检查代码了,先把错误放到百度或者Google搜一下,看看是否有前辈解决问题的经验。若没有,经Google得知这个是因为我们包含了不该包含的头文件导致的,这时候我们需要做的事情就是把所有系统头文件试着都替换成<windows.h>.
    因为<windows.h>这个头文件中包含了大部分的系统文件,但是呢,其他头文件之间可能不能同时被包含,这个时候我们就需要用<windows.h>去做替换尝试,如果替换完没有报错,那说明你替换的头文件确实在<windows.h>中存在,若出现错误,那就继续包含原来的头文件。若没错这个问题就可以得到解决。
    4、尤其是<windef.h><winuser.h>这些个头文件,替换完以后可以解决问题就万事大吉,可没解决的话,还要下一步的尝试,就是换下头文件的顺序,比如一开始是
    #include <a.h>
    #include <b.h>
    这个时候把它换成
    #include <b.h>
    #include <a.h>
    也许就可以解决问题。
    5、最后给一点小的建议,遇到问题不要怕,要一步步的分析,这样你才可能越挫越勇,遇到的问题多并都解决了,就没那么多恐惧,最主要的是你想不想靠自己的能力来解决这个问题。
     
     
  • 相关阅读:
    UML各种图总结
    信息系统安全等级保护基本要求
    MySQL InnoDB表空间加密
    服务器常见操作问题
    公众号-接口配置信息 接口实现 netcore
    某些时候命令绑定可能会存在刷新不及时,往往需要点击一次程序才能激活,特此记录下解决方案
    c#几种场景获取程序运行目录
    wpf 控件绑定鼠标命令、键盘命令
    并发特别高的时候,随机数的种子生成
    mongodb占用大量内存
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/8972097.html
Copyright © 2011-2022 走看看