zoukankan      html  css  js  c++  java
  • error LNK2019: 无法解析的外部符号……

    在VS中开发程序的时候遇到一个问题,应该算是比较常见,所以记录下。

    在编译程序的时候遇到一个错误,大致提示如下:

    “error LNK2019: 无法解析的外部符号……”

    遇到这个错误一般是因为存在以下三种情况:

    1、引用别人编译好的库,这个时候一般是引入头文件后,没有将lib文件导进工程中,所以需要在VS的工程属性设置中将lib文件加到工程里;

    2、自己写的.h/.cpp文件,但是没有将.h/.cpp加到工程中,而是在某些其他.h/.cpp文件中包含了头文件,这个时候就需要右键工程,添加现有项,将包含的.h/.cpp都加到工程中;

    3、第三种是自己写的.h/.c文件,也加到工程里了,但是还是报错了,注意这里是.h/.c,而我们的工程里是cpp来调用,这个时候是C++和C混编了,虽然编译器是按照C的规则来编译.h/.c的文件,但是链接器还是按照C++的规则去查找函数名,就会出现找不到的情况,所以需要将在头文件函数声明的时候添加C语言的提示:

    #ifdef __cplusplus
    extern "C" 
    {
        void myFunction(void);  //这里写函数声明
    }
    #endif

    楚人有涉江者,其剑自舟中坠于水。遽契其舟,曰:“是吾剑之所从坠。”舟止,从其所契者入水求之。舟已行矣,而剑不行,求剑若此,不亦惑乎!

    上善若水,为而不争。
  • 相关阅读:
    同步gitlab与github
    配置hosts快速访问GitHub
    Linux下Julia安装
    LATEX图片位置
    IPOPT安装
    sqlplus传入shell变量
    users表空间满导致应用无法连接
    坏块修复 ORA-00701
    Oracle中INITRANS和MAXTRANS参数(转)
    DBMS_ROWID包的使用
  • 原文地址:https://www.cnblogs.com/Bearoom/p/11721745.html
Copyright © 2011-2022 走看看