我有这个只有一个文件的新项目。我尝试使用一些Qt对象。编译工作正常,但在链接步骤出现错误。我搜索了几个小时,却找不到答案。 我想链接器找不到dll文件夹,但我不知道如何为此目的指示一个文件夹...
感谢您的帮助!
我在MSVC2017中使用最新的Qt版本(5.11.2)
这是三个文件:
main.cpp:
#include "mainwindow.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QList<QSerialPortInfo> portList = QSerialPortInfo::availablePorts();
}
MainWindow::~MainWindow()
{
delete ui;
}
mainwindow.h:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QtSerialPort/qserialport.h>
#include "serial_manager.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
//QSerialPortInfo* serialInfo;
Serial_manager* sr_mngr;
};
#endif // MAINWINDOW_H
和错误:
mainwindow.obj:-1: erreur : LNK2019: symbole externe non résolu "__declspec(dllimport) public: __cdecl QSerialPortInfo::~QSerialPortInfo(void)" (__imp_??1QSerialPortInfo@@QEAA@XZ) référencé dans la fonction "public: void * __cdecl QSerialPortInfo::`scalar deleting destructor'(unsigned int)" (??_GQSerialPortInfo@@QEAAPEAXI@Z)