Russian Qt Forum
Ноябрь 01, 2024, 08:28 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите нарисовать линию  (Прочитано 2752 раз)
tumanovalex
Гость
« : Апрель 07, 2011, 09:32 »

Попробовал реализовать рисование линии через класс, в QTCreator получаю невнятную ошибку:
Код:
error: No rule to make target `Makefile.Debug'.  Stop
, в Visual Studio более подробную информацию об ошибке:
Код:
F:\myprogramqt\mylearningqt\mywindow.h(16) : warning C4100: e: неиспользованный формальный параметр Компоновка... mainwindow.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: virtual __thiscall MyWindow::~MyWindow(void)" (??1MyWindow@@UAE@XZ) в функции "public: virtual void * __thiscall MyWindow::`scalar deleting destructor'(unsigned int)" (??_GMyWindow@@UAEPAXI@Z)
debug\MyLearningQT.exe : fatal error LNK1120: 1 неразрешенных внешних элементов
. Подскажите, пожалуйста, в чем моя ошибка? Прикрепляю проект.
Записан
blood_shadow
Гость
« Ответ #1 : Апрель 07, 2011, 10:14 »

mainwindow.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: virtual __thiscall MyWindow::~MyWindow(void)" (??1MyWindow@@UAE@XZ) в функции "public: virtual void * __thiscall MyWindow::`scalar deleting destructor'(unsigned int)" (??_GMyWindow@@UAEPAXI@Z)
debug\MyLearningQT.exe : fatal error LNK1120: 1 неразрешенных внешних элементов. Подскажите, пожалуйста, в чем моя ошибка? Прикрепляю проект.
вот тебе компилятор сказал что проблема в деструкторе
Код:
LNK2019: ссылка на неразрешенный внешний символ "public: virtual __thiscall MyWindow::~MyWindow(void)

ты объявил, но не определил деструктор -
Код
C++ (Qt)
~MyWindow();
, если он пустой надо написать так:
Код
C++ (Qt)
~MyWindow() {}
или вообще его убрать с объявления класса, если он ничего не делает,
а где реализация конструктора MyWindow?
Код
C++ (Qt)
explicit MyWindow(QWidget *parent = 0);
это только
объявление конструктора, который принимает один аргумент, и вообще создай отдельный файл MyWindow.cpp
и перенеси в него определение ф-ции void MyWindow::paintEvent(QPaintEvent *e), ф-ция довольно большая, чтобы
определять ее внутри класса, так не кошерно
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.356 секунд. Запросов: 21.