大佬教程收集整理的这篇文章主要介绍了Qt 5.13 中的 qtcsv 库未定义引用,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我应该创建一个程序,同时从串行通信中获取数据并将它们写入 .csv 文件。第一阶段(串行通信)已完成,但我在将数据写入 .csv 文件时遇到问题。我在 git 页面中构建了 qtcsv 库。但是,现在 Qt 说:
error: undefined reference to `_imp___ZN5QtCSV10StringDataD1Ev'
首先,我不是 Cpp 和 Qt 的专家,我认为我应该在 .pro 文件或 Qt 中添加一个 liBS 分区。提前致谢。
我添加了我的代码,也许我犯了一些错误。
serialGui.pro
QT+= core gui serialport
greaterThan(QT_MAJOR_VERSION,4): QT += Widgets
CONfig += c++11
sourcES += \
main.cpp \
mainwindow.cpp
headerS += \
mainwindow.h
FORMS += \
mainwindow.ui
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!androID: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
@H_669_13@mainwindow.h
#define MAINWINDOW_H
#include <QMainWindow>
class QserialPort;
Q@R_673_11164@EGIN_nameSPACE
namespace Ui { class MainWindow; }
QT_END_nameSPACE
class MainWindow : public QMainWindow
{
Q_OBjeCT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private slots:
voID readserialData();
voID on_pushbutton_clicked();
voID on_pushbutton_2_clicked();
private:
Ui::MainWindow *ui;
QserialPort *mserialPort;
};
#endif // MAINWINDOW_H
@H_669_13@mainwindow.cpp
#include "ui_mainwindow.h"
#include <QserialPort>
#include <QserialPorTinfo>
#include <QmessageBox>
#include <QDeBUG>
#include <QDir>
#include <QList>
#include "Stringdata.h"
#include "reader.h"
#include "writer.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent),ui(new Ui::MainWindow)
{
ui->setupUi(this);
mserialPort = new QserialPort(this);
mserialPort->setPortname("COM6");
mserialPort->setBaudrate(QserialPort::Baud9600);
mserialPort->setDataBits(QserialPort::Data8);
mserialPort->setParity(QserialPort::noparity);
mserialPort->setStopBits(QserialPort::Onestop);
mserialPort->setFlowControl(QserialPort::NoFlowControl);
connect(mserialPort,SIGNAL(readyRead()),this,SLOT(readserialData()));
}
MainWindow::~MainWindow(){
delete ui;
delete mserialPort;
}
voID MainWindow::readserialData(){
QByteArray data;
data = mserialPort->readAll();
qDeBUG()<< "Received data: "<< data;
ui -> label -> setText(data);
QtCSV::stringData strData;
strData.addRow(data);
strData.addEmptyRow();
QString filepath = QDir::currentPath() +"\test.csv";
QtCSV::Writer::write(filepath,strData);
}
voID MainWindow::on_pushbutton_clicked() {
mserialPort->open(qiodevice::reaDWritE);
foreach (QserialPorTinfo item,QserialPorTinfo::availablePorts()) {
if (item.portname() == "COM6"){
mserialPort->setPort(item);
if (!mserialPort-> open(qiodevice::reaDWritE)){
QmessageBox::information(this,tr("connected"),"serial communication start");
ui->label_2->setText("ConTinuing");
ui->label_3->setText("normal");
}
else {
QmessageBox::critical(this,tr("Failed"),mserialPort->errorString());
}
}
else {
qDeBUG() << "No connected device found";
}
}
}
voID MainWindow::on_pushbutton_2_clicked()
{
mserialPort->close();
QmessageBox::information(this,tr("disconnected"),"serial communication finished");
}
@H_669_13@main.cpp
#include <QApplication>
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
MainWindow w;
w.show();
return a.exec();
}
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的Qt 5.13 中的 qtcsv 库未定义引用全部内容,希望文章能够帮你解决Qt 5.13 中的 qtcsv 库未定义引用所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。