我在用QT creator想写一个串口通信程序时,跟很多人一样也是D:\documents\HelloSerialPort\mainwindow.cpp:20: error: undefined reference to SPComm::isOpen() const
D:\documents\HelloSerialPort\debug\mainwindow.o:-1: In function `ZN10MainWindow23on_pushButton_2_clickedEv':
D:\documents\HelloSerialPort\mainwindow.cpp:30: error: undefined reference to `SPComm::isOpen() const'
看网上说是在pro文件中添加类所在的目录,可是我怎么知道它是哪个目录呢?完全不懂啊,求教!下面是我的文件
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include "SPComm.h"
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
private:
Ui::MainWindow *ui;
SPComm *m_spcomm;
};
#endif // MAINWINDOW_H
spcomm.h
#ifndef SPCOMM_H
#define SPCOMM_H
#include <QObject>
#include <QtSerialPort/QtSerialPort>
class SPComm : public QObject
{
Q_OBJECT
public:
explicit SPComm(QObject *parent = 0);
~SPComm();
bool isOpen() const;
void setPortName(const QString &name);
QString portName() const;
void setBaudRate(int baudRate);
int baudRate() const;
virtual bool open();
virtual void close();
virtual bool clear();
int readData(char *buffer, int count, int timeout = 1000);
int writeData(char *data, int size);
int write(char ch);
protected:
QString m_portName;
int m_baudRate;
QSerialPort *m_serialPort;
signals:
public slots:
};
#endif // SPCOMM_H