zoukankan      html  css  js  c++  java
  • 【link】error C2485: “__restrict”: 无法识别的扩展属性 && error LNK2001:无法解析的外部符号

    Date:2018.10.23


    1、前言

       在进行开源库的提取和封装的过程中,遇到如下两个链接问题:

    • error C2485: “__restrict”: 无法识别的扩展属性
    • error LNK2001:无法解析的外部符号 _gettimeofday
      第一个问题比较少见,第二个问题比较常见。

    下面对以上两个链接问题进行分析和总结。

    2、分析

    (1)error C2485: “__restrict”: 无法识别的扩展属性
    原因分析:
       在vs2005和vs2010等高版本中识别__restrict,而VC6中不识别。由于错误出现在stdlib.h中,而其中也有restrict的定义和使用,推测是在之前对restrict进行了重定义。

    解决方案:
       搜索"#define restrict __restrict"或者相关宏定义,然后将之注释即可。

    参考自:
    https://www.codeproject.com/Messages/2651289/Re-i-got-a-compiling-error-like-error-C2485-__rest.aspx

    (2)error LNK2001:无法解析的外部符号 _gettimeofday
    原因分析:
      这种问题一般是由于没有包含该符号或者函数的头文件或定义导致符号无法找到。当然也可能虽然包含了相应的头文件,但是其中含有宏控制,没有打开宏,导致函数定义无法找到。
      因此,归根到底,主要是由于该符号或函数的定义没有编译包含进来。

    解决方案:
       将该符号对应的定义包含进来。


    THE END!

  • 相关阅读:
    UE4 Abc 批量导入
    UE4源码摘录(424)
    JZ10 矩形覆盖
    JZ27 字符串的排列
    JZ66 机器人的运动范围
    JZ65 矩阵中的路径
    JZ12 数值的整数次方
    JZ37 数字在升序数组中出现的次数
    JZ6 旋转数组的最小数字
    JZ67 剪绳子
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532325.html
Copyright © 2011-2022 走看看