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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Глобальная переменная. Ошибка  (Прочитано 4521 раз)
bukum
Гость
« : Декабрь 03, 2010, 19:43 »

Создал GUI приложение в mainwindow.h
сделал глобальную ticktack

Код:
class MainWindow : public QMainWindow
{
    Q_OBJECT

static int ticktack;

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;



};

в main.cpp пытаюсь обратиться к ней
Код:
void MainWindow::updateTime()
{
   // this->ticktack++;
    MainWindow::ticktack++;
}

ошибка :: error: collect2: ld returned 1 exit status

если  MainWindow::ticktack++;  закомментить ,то нормально вроде компилит...
Записан
BRE
Гость
« Ответ #1 : Декабрь 03, 2010, 19:45 »

Почитай в книге по C++, как нужно декларировать и определять статические переменные или поищи по форуму.
Записан
deM1d
Гость
« Ответ #2 : Декабрь 03, 2010, 19:50 »

ошибка :: error: collect2: ld returned 1 exit status , это не сама ошибка...
читай логи сборки...
Записан
bukum
Гость
« Ответ #3 : Декабрь 03, 2010, 19:54 »

http://kubuntu.ru/node/4544 вот тут также делали.


Цитировать
debug/mainwindow.o:C:\Qt\2010.05\WORK\cg_tribe_test-build-desktop/../cg_tribe_test/mainwindow.cpp:44: undefined reference to `MainWindow::ticktack'

debug/mainwindow.o:C:\Qt\2010.05\WORK\cg_tribe_test-build-desktop/../cg_tribe_test/mainwindow.cpp:44: undefined reference to `MainWindow::ticktack'

collect2: ld returned 1 exit status

Записан
BRE
Гость
« Ответ #4 : Декабрь 03, 2010, 19:56 »

http://kubuntu.ru/node/4544 вот тут также делали.
Внимательно посмотри на первый комментарий, внизу, там где написано:
---
 otherClass.cpp:

...
Записан
bukum
Гость
« Ответ #5 : Декабрь 03, 2010, 20:01 »

Код:
otherClass.cpp:
#include "someClass.h"
someClass::var1 = 5;
someClass::var2 = someClass::var1 / 2.0;
?
Все равно не втыкаю.
Я и так писал тоже
 
Код:
 // this->ticktack++;
    MainWindow::ticktack=MainWindow::ticktack+1;

#include у меня в cpp  написан тоже...  Непонимающий
Записан
BRE
Гость
« Ответ #6 : Декабрь 03, 2010, 20:05 »

В файле mainwindow.cpp после инклюдов добавь строчку:
int MainWindow::ticktack = 0;
Записан
bukum
Гость
« Ответ #7 : Декабрь 03, 2010, 20:09 »

инициализация...спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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