Ich steh erade vor einem kleinen Problem. Ich hab 2 Projekte/Libs greife ich von dem einen Projekt auf das andere zu bekomme ich bei einer Klasse immer diese Meldung
debug/HardwareController.o: In function `ZN18HardwareControllerD2Ev':
D:/C++/Workspace/TimeMeasure/Controller/HardwareController.cpp:18: undefined reference to `SerialPortThread::~SerialPortThread()'
debug/HardwareController.o: In function `ZN18HardwareControllerD1Ev':
D:/C++/Workspace/TimeMeasure/Controller/HardwareController.cpp:18: undefined reference to `SerialPortThread::~SerialPortThread()'
debug/HardwareController.o: In function `ZN18HardwareControllerD0Ev':
D:/C++/Workspace/TimeMeasure/Controller/HardwareController.cpp:18: undefined reference to `SerialPortThread::~SerialPortThread()'
debug/HardwareController.o: In function `ZSt17__verify_groupingPKcjRKSs':
Verwende ich die Klasse in dem eigentlich Projekt gibt es keine Probleme, nur wenn sie im anderen Projekt benutzt wird.
Datei aus Projekt A
* Created on 23.10.2009
*
* Copyright (c) 2009, Kay Czarnotta
*
* All rights reserved.
*/
#include "HardwareController.h"
#include "serialportthread.h"
HardwareController::HardwareController() : QObject(this)
{
//portThread = SerialPortThread(1);
//connect(&portThread, SIGNAL(connectionStatusChanged(int)), this, SLOT(connectionStateChanged(int)));
}
HardwareController::~HardwareController()
{//<---Angeblich der Fehler
}
void HardwareController::startRace()
{
portThread.start(QThread::HighPriority);
}
void HardwareController::connectionStateChanged(int state)
{
}
Datei aus Projekt B
* Created on 19.10.2009
*
* Copyright (c) 2009, Kay Czarnotta
*
* All rights reserved.
*/
#ifndef SERIALPORTTHREAD_H
#define SERIALPORTTHREAD_H
#include <QThread>
class SerialPortThread: public QThread
{
Q_OBJECT
public:
SerialPortThread():QThread(this){}
SerialPortThread(int portNumber);
SerialPortThread(const SerialPortThread& port);
virtual ~SerialPortThread();
void run();
void setTimeout(unsigned int timeout);
unsigned int getTimeout();
void interrupt();
SerialPortThread& operator =(const SerialPortThread&);
private:
//bool getSignalState(int signal);
signals:
void signalReceived(int port);
void connectionStateChanged(int type);
protected:
bool isToSend(int port, bool signal);
void copy(const SerialPortThread& port);
private:
unsigned char portNumber;
unsigned int timeout;
bool interrupted;
public:
static const int CONNECTION_FAILD = 1;
static const int CONNECTION_ESTABLISHED = 2;
static const int CONNECTION_READ_FAILD = 3;
static const int CONNECTION_CLOSED = 4;
};
#endif // SERIALPORTTHREAD_H