Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Магия

Автор: mettamo 30.11.2009, 17:32

Здравствуйте, я столкнулся с такой проблемкой написал программку, все пашет, все окай, переношу ее на бук там компилю и она работает совсем не так как на компьютере, в отладчике пытался найти косяк, отладчик даже не останавливает в указаном месте, в чем дело как с этим разобраться?

Автор: Litkevich Yuriy 30.11.2009, 18:00

Цитата(mettamo @ 30.11.2009, 20:32) *
как с этим разобраться?
набрать побольше маны, или попить веселящего кваса.

Автор: kwisp 30.11.2009, 18:35

Litkevich Yuriy,
блин хотел написать
"посмотреть в хрустальный шар"
но подумал администрация будет недовольна,
а тут администрация сама шутит:)

mettamo,
ну выложи побольше информации код, версию библиотеки, чем собирал, что за система и прочее.
тут достаточно разбирающихся в программировании людей, но они же не колдуны и мысли читать не умеют.

Автор: mettamo 30.11.2009, 19:12

с Ubuntu 64 на Ubuntu 32 переношу Qt creator 1.2.1 Qt 4.5.2 код вложил

 graf.zip ( 23.16 килобайт ) : 131
 

Автор: Litkevich Yuriy 30.11.2009, 20:07

mainwindow.cpp:79: error: `random' was not declared in this scope

Автор: mettamo 30.11.2009, 20:39

Цитата(Litkevich Yuriy @ 30.11.2009, 20:07) *
mainwindow.cpp:79: error: `random' was not declared in this scope


у меня того не пишет

Ошибка заключается в том что при запуске в 32 битной версии работает только поиск в глубину, хотя в 64 все работает

при компиляции выдает предупреждения
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -I. -o mainwindow.o mainwindow.cpp
/usr/include/qt4/QtCore/qvector.h: In member function ‘void MainWindow::on_pushButton_clicked()’:
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.1585’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.1585’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.1585’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.1585’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:374: warning: dereferencing pointer ‘pretmp.1585’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:374: warning: dereferencing pointer ‘pretmp.1585’ does break strict-aliasing rules
cc1plus: note: initialized from here
/usr/include/qt4/QtCore/qlist.h: In member function ‘void MainWindow::BreadthSearch(int, int)’:
/usr/include/qt4/QtCore/qlist.h:340: warning: ‘ND.GNode::Cost’ is used uninitialized in this function
mainwindow.cpp:315: note: ‘ND.GNode::Cost’ was declared here
/usr/include/qt4/QtCore/qvector.h: In member function ‘void MainWindow::DeepSearch(int, int)’:
/usr/include/qt4/QtCore/qvector.h:528: warning: ‘ND.GNode::Cost’ may be used uninitialized in this function
mainwindow.cpp:257: note: ‘ND.GNode::Cost’ was declared here
/usr/include/qt4/QtCore/qvector.h: In member function ‘void MainWindow::on_Button_find_clicked()’:
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:421: warning: dereferencing pointer ‘<anonymous>’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:114: note: initialized from here
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.2868’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.2868’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.2868’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:315: warning: dereferencing pointer ‘pretmp.2868’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:374: warning: dereferencing pointer ‘pretmp.2868’ does break strict-aliasing rules
/usr/include/qt4/QtCore/qvector.h:374: warning: dereferencing pointer ‘pretmp.2868’ does break strict-aliasing rules
cc1plus: note: initialized from here
g++ -Wl,-O1 -o graf gnode.o main.o mainwindow.o moc_mainwindow.o -L/usr/lib -lQtGui -lQtCore -lpthread



может в этом дело, если в этом то, что он хочет?

Автор: Litkevich Yuriy 30.11.2009, 21:02

mettamo, давай разберёмся с тем, где объявлена функция random()

Автор: frg10 30.11.2009, 21:41

Цитата(Litkevich Yuriy @ 30.11.2009, 21:02) *
mettamo, давай разберёмся с тем, где объявлена функция random()

Цитата(/usr/include/stdlib.h)
extern long int random (void) __THROW;

Автор: mettamo 30.11.2009, 21:50

говорю дело не в random даже если его убрать все равно не работает

Автор: DEADHUNT 30.11.2009, 21:52

Цитата(frg10 @ 30.11.2009, 21:41) *
Цитата(/usr/include/stdlib.h)
extern long int random (void) __THROW;


нет такой стандартной функции.

Автор: mettamo 30.11.2009, 21:54

в Ubuntu 64 нет никаких проблем все работает ни на что не ругается, в Ubuntu 32: я показал что выводит

Автор: kuzulis 30.11.2009, 22:19

А у меня на Arch Linux это пишецца:

Цитата
[kuzulis@kuzulis New Folder]$ qmake graf.pro
WARNING: Failure to find: qtc-gdbmacros/gdbmacros.cpp
[kuzulis@kuzulis New Folder]$ make
g++ -c -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -I. -o gnode.o gnode.cpp
g++ -c -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -I. -o main.o main.cpp
g++ -c -m64 -pipe -march=x86-64 -mtune=generic -O2 -pipe -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/QtCore -I/usr/include/QtGui -I/usr/include -I. -I. -I. -o mainwindow.o mainwindow.cpp
make: *** Нет правила для сборки цели `qtc-gdbmacros/gdbmacros.cpp', требуемой для `gdbmacros.o'. Останов.
[kuzulis@kuzulis New Folder]$

Автор: mettamo 30.11.2009, 22:39

Весь проект в 100 кб не помещается

так ладно, я перенес в винду там все пашет, только как сделать чтоб ехешник запускался и не требовал кучу всех библиотек кутэшных, чтоб я мог запустить программу на компе где нет кутэ?

Автор: Litkevich Yuriy 30.11.2009, 22:42

mettamo, проект уже не компилябельный, давай разбираться по частям, я закоментировал в pro-файле, то что относится к GDB-макросам Креатора. Ищем дальше, какой инклюд подключать? У тебя он где-то слева подхватился, видимо не он один.

Цитата(mettamo @ 1.12.2009, 1:39) *
так ладно, я перенес в винду там все пашет, только как сделать чтоб ехешник запускался и не требовал кучу всех библиотек кутэшных, чтоб я мог запустить программу на компе где нет кутэ?
считай, что ни как.

Автор: mettamo 30.11.2009, 22:45

я тебя не понял

Автор: PavelDart 30.11.2009, 23:07

Цитата(mettamo @ 30.11.2009, 22:39) *
Весь проект в 100 кб не помещается

так ладно, я перенес в винду там все пашет, только как сделать чтоб ехешник запускался и не требовал кучу всех библиотек кутэшных, чтоб я мог запустить программу на компе где нет кутэ?


Сборку надо делать статическую - это отдельная история. )

Автор: frg10 30.11.2009, 23:56

Цитата(DEADHUNT @ 30.11.2009, 21:52) *
Цитата(frg10 @ 30.11.2009, 21:41)
Цитата(/usr/include/stdlib.h)
extern long int random (void) __THROW;
нет такой стандартной функции.

Я и не говорил что есть такая стандартная функция. Я просто показал в каком файле эта функция есть и какой у нее прототип. :)

mettamo,
У тебя в gnode.h есть 2 места, где написано
bool Flag;
Замени на
bool Flag = false;
и будет тебе щастье. :)

Автор: mettamo 1.12.2009, 0:19

Слушай, вот это ты крутой))) реально помогло, токая мелочь, теперь всегда буду начальное значение присваивать.

Автор: frg10 1.12.2009, 0:42

Цитата(mettamo @ 1.12.2009, 0:19) *
Слушай, вот это ты крутой)))
:rofl2: :rofl2:
Цитата(mettamo @ 1.12.2009, 0:19) *
теперь всегда буду начальное значение присваивать

Ты делаешь правильные выводы :)

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)