Автор: 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, 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;
Автор: 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)
так ладно, я перенес в винду там все пашет, только как сделать чтоб ехешник запускался и не требовал кучу всех библиотек кутэшных, чтоб я мог запустить программу на компе где нет кутэ?
считай, что ни как.
Автор: 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)
Слушай, вот это ты крутой)))
Цитата(mettamo @ 1.12.2009, 0:19)
теперь всегда буду начальное значение присваивать
Ты делаешь правильные выводы