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

    1、问题:

    最近使用QT 5.0.2 设计界面,遇到一个纠结的问题:

    建立工程后,再新建一个新的类(如class a),类声明在a.h头文件中,在main.cpp中 #include "a.h" 但是在链接过程中报错:类a的所有成员函数(构造函数,析构函数等)均无法识别,被编译器标为“无法解析的外部符号”。

    解决:

    将当前qt工程所在的父目录下的 build-(工程名)-Desktop_Qt_5_0_2_MSVC2010_32bit-Debug 文件夹删除,再构建项目即可运行。。

    2、问题:

    在qt中使用了#include<QtMultimedia/QAudioInput> 实现录音功能,但是发现所有使用QtMultimedia中的类的成员函数均被判为:error LNK2019: 无法解析的外部符号 "__declspec(dllimport),使用上一种方法无法解决。

    解决:

    查了网上的一些资料,发现链接错误是由于最后在生成可执行程序时无法找到某个库所造成的,即程序编译是没有问题的,例如你的代码里面声名了一个函数,然后也有很多地方用到了这个函数,但是这个函数真正的实现是在某个你引用的库里面实现,定义的,因此,在编译阶段是不会报错的,但等到真正链接时,就要去打这个函数的实现了,此时,如果编译器找不到对应的库文件(win下一般为.lib谁的),就会报这种链接错误了。

    所以真正的问题是没有加载库

    加载库的方法有两种:

    1)在qt的工程文件.pro中添加:QT += multimedia (库名)

    2)向项目添加对应的lib文件

    使用1)解决了问题。

    加布兽净化
  • 相关阅读:
    python内置函数
    conda和anaconda的区别
    闭包,装饰器,property
    【模板】大数乘法(51nod 1027)
    51nod 1791 合法括号子段
    51nod 1419 最小公倍数挑战
    51nod 1241 特殊的排序
    51nod 1090 3个数和为0
    【模板】51nod 1051 最大子矩阵和
    51nod 1267 4个数和为0
  • 原文地址:https://www.cnblogs.com/jbhs/p/14143808.html
Copyright © 2011-2022 走看看