Я пытаюсь скомпилировать групповой проект Qt с помощью cmake.Это работало, пока я не добавил часть GUI.main.cpp:
#include <QtWidgets>
int start_GUI(int argc, char *argv[]){
QApplication a(argc, argv);
Window * window = new Window();
SSConnection *ssc = new SSConnection();
Window window;
return a;
}
cmake:
cmake_minimum_required(VERSION 3.6)
project(client)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5WebSockets REQUIRED)
find_package(Qt5Gui REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_executable(client_main ${SOURCE_FILES})
qt5_use_modules(client_main Widgets Gui WebSockets)
output:
undefined reference to `Button::mousePressEvent(QGraphicsSceneMouseEvent*)'
undefined reference to `non-virtual thunk to Button::mousePressEvent(QGraphicsSceneMouseEvent*)'
Класс Button - это просто объект QObject для добавления кнопки на экран. Button:
class Button : public QObject , public QGraphicsRectItem
{
Q_OBJECT
public:
Button(QString name, QGraphicsItem * parent = NULL);
void mousePressEvent(QGraphicsSceneMouseEvent * event);
signals:
void clicked();
private:
QGraphicsTextItem * text;
QPushButton * button;
QGraphicsRectItem * rect;
};
Любые предложения о том, как исправить ошибку компоновки