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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Ошибка (неразрешенный внешний символ). Не могу осознать, почему.  (Прочитано 10922 раз)
fisenkdima
Гость
« : Февраль 04, 2013, 14:30 »

Создав новое GUI приложение Qt, и добавив в класс MainWindow в качестве закрытого члена экземпляр также только что созданного нового класса, в котором ничего нет, окромя пустого public-конструктора, при попытке собрать приложение, мне выдаёт следующую ошибку:

Код:
mainwindow.obj:-1: ошибка: LNK2019: ссылка на неразрешенный внешний символ 
"public: __thiscall new_class::new_class(void)" (??0new_class@@QAE@XZ) в функции
"public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z)

Кто-нибудь может сказать мне, где я оступился на ровном месте?
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #1 : Февраль 04, 2013, 14:42 »

Код
C++ (Qt)
QT += gui
в *.pro файле присутствует?
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
fisenkdima
Гость
« Ответ #2 : Февраль 04, 2013, 14:46 »

Код:
QT       += core gui
Вот это присутствует.
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #3 : Февраль 04, 2013, 15:58 »

тело конструктора твоего класса точно прописано? покажи код.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
fisenkdima
Гость
« Ответ #4 : Февраль 05, 2013, 15:26 »

тело конструктора твоего класса точно прописано? покажи код.

Проект содержит 2 класса, один из них MainWindow, в который (к автоматически сгенерированному коду) был добавлен новый закрытый член: экземпляр класса Cube, который содержит автоматически сгенерированный пустой конструктор, и больше ничего.

Если кому-то проще посмотреть так, то вот заархивированный папка с проектом (там мною, а не средой, написана одна строка -__-, ну, не считая того, что я накидал объектов на форму, через дизайнер).

https://dl.dropbox.com/u/102021951/task_1.zip

Код по-файлово:
main.cpp:
Код:
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
   
    return a.exec();
}

mainwindow.h:
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "cube.h"

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT
   
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
   
private:
    Ui::MainWindow *ui;
    Cube solid1;
};

#endif // MAINWINDOW_H

mainwindow.cpp:
Код:
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

cube.h:
Код:
#ifndef CUBE_H
#define CUBE_H

class Cube
{
public:
    Cube();
};

#endif // CUBE_H

cube.cpp:
Код:
#include "cube.h"

Cube::Cube()
{
}
Записан
Serr500
Гость
« Ответ #5 : Февраль 05, 2013, 16:16 »

Никаких ошибок не выдало. Попробуйте полностью удалить папку сборки проекта и откомпилировать заново.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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