• 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

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

    上善若水,为而不争。
  • 相关阅读:
    Java(13)_多线程
    数据去敏
    过滤器(Filter)与拦截器
    Process Automation Accredited Professional Exam Guide Victor
    postgresql 批量删除模式中一些表
    SpringBoot Thymeleaf 模板引擎使用
    使用Qss设置QPushButton图标和显示文本的位置
    【Qt】贴图实现方向控制盘
    【Qt】多级折叠下拉导航菜单
    【Qt】使用QMovie加载Gif动画
  • 原文地址:https://www.cnblogs.com/Bearoom/p/11721745.html
Copyright © 2020-2023  润新知