• 【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!

  • 相关阅读:
    套题 codeforces 361
    hdu 5720
    套题 codeforces 360
    套题 codeforces 359
    套题 bestcoder 84
    hdu 5748(求解最长上升子序列的两种O(nlogn)姿势)
    观django-messages包笔记
    django form
    省份、城市、区县三级联动Html代码
    django perm用法
  • 原文地址:https://www.cnblogs.com/SoaringLee/p/10532324.html
Copyright © 2020-2023  润新知