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

    1.如果你是使用的第三方库,你看一下mainplay这个函数是在那个头文件(比如xx.h)里声明的,然后找到其对应的实现库,将其拷贝到你的Debug目录下,再在你的源文件里添加
    #pragma comment(lib,"xx.lib")
    2.如果你是自己实现的mainplay,那么请确保你声明了该函数后还在源文件里实现了它,而且这个源文件被添加到了你的工程里(这是为了编译该文件,然后将这个函数生成到obj里)

    可能你不太明白。这里简单说一下原理。
    如果是第三方库,通常作者会提供头文件给你,你include了这个头文件,就可以使用其中声明的函数,如果没有问题,那编译可以通过。但是到链接的时候,编译器需要将函数的实现代码链接到最终的可执行代码里,而函数的实现代码通常就在lib或dll中,#pragma comment(lib,"xx.lib")就是告诉编译器去xx.lib里找函数的实现代码。
    而如果是你自己来实现这个函数,只有声明是不够的,还需要你在源代码(.cpp)里去实现它,编译器编译这个cpp的时候会将你的实现代码输出到.obj里,连接器直接去obj里找。

    总的来说,【无法解析的外部符号】这样的错误是因为你只声明了函数原型(编译可通过),但却没有提供函数的实现代码(这会导致链接失败LNK2019)。
  • 相关阅读:
    js 秒的倒计时,将秒转换为时分秒显示
    mysql 中 int 等类型如何选择
    js 经常用于条件判断 大于等于0 的正整数
    egg.js 相关
    nodejs 开发时,学用的热更新工具 nodemon
    pm2 工具来管理 node 服务端
    centos 宝塔面版 运行 thinkjs
    图解ByteBuffer
    gc HeapTaskDaemon守护线程
    Android Bitmap变迁与原理解析(4.x-8.x)
  • 原文地址:https://www.cnblogs.com/xaf-dfg/p/3832401.html
Copyright © 2011-2022 走看看