Qt添加新类时出现 error: LNK2019: 无法解析的外部符号 解决

原因

编译器未识别该新类的名字

解决

  1. 项目右键清除
  2. qmake(重新让编译器识别所有类)
  3. 构建
展开阅读全文

QT中导入第三方库并使用,编译给出LNK2019:无法解析外部命令。

11-14
QT项目中导入libzplay这个第三方库用于音频处理,但是导入后使用发生错误,显示 ``` mainwindow.obj:-1: error: LNK2019: 无法解析外部符号 __imp_CreateZPlay,该符号在函数 "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z) 中被引用 ``` 尝试过重构项目并且重QMake但是始终会产生这个问题,真的是无力了,希望有大佬能够帮下忙 下面是项目文件和我使用的代码: ``` QT += core gui widgets TARGET = test_import_dll TEMPLATE = app DEFINES += QT_DEPRECATED_WARNINGS # You can also make your code fail to compile if you use deprecated APIs. # In order to do so, uncomment the following line. # You can also select to disable deprecated APIs only up to a certain version of Qt. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 CONFIG += c++11 SOURCES += \ main.cpp \ mainwindow.cpp HEADERS += \ mainwindow.h FORMS += \ mainwindow.ui # Default rules for deployment. qnx: target.path = /tmp/$${TARGET}/bin else: unix:!android: target.path = /opt/$${TARGET}/bin !isEmpty(target.path): INSTALLS += target unix:!macx|win32: LIBS += -L$$PWD/../../DB_project/libzplay-2.02-sdk/C++/ -llibzplay INCLUDEPATH += $$PWD/../../DB_project/libzplay-2.02-sdk/C++ DEPENDPATH += $$PWD/../../DB_project/libzplay-2.02-sdk/C++ win32:!win32-g++: PRE_TARGETDEPS += $$PWD/../../DB_project/libzplay-2.02-sdk/C++/libzplay.lib else:unix:!macx|win32-g++: PRE_TARGETDEPS += $$PWD/../../DB_project/libzplay-2.02-sdk/C++/libzplay.a ``` 建了个mainwindow想在里面测试下结果使用不了: ``` #include "mainwindow.h" #include "ui_mainwindow.h" #include<libzplay.h> using namespace libZPlay; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ZPlay* p= CreateZPlay(); ui->setupUi(this); } MainWindow::~MainWindow() { delete ui; } ```
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值