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、最后给一点小的建议,遇到问题不要怕,要一步步的分析,这样你才可能越挫越勇,遇到的问题多并都解决了,就没那么多恐惧,最主要的是你想不想靠自己的能力来解决这个问题。
     
     
  • 相关阅读:
    管道/重定向/环境变量
    用户和组命令
    常用命令
    系统监控及进程
    Centos硬件信息
    Centos系统信息及日志
    linux防火墙
    ipt_connlimit限制并发,ipt_recent限制单位时间内的请求数目
    apache添加mod_limitipconn限制单个ip并发连接数
    php核心技术与最佳实践知识点(下)
  • 原文地址:https://www.cnblogs.com/rainbow70626/p/8972097.html
Copyright © 2011-2022 走看看