Ошибка при отладке
, QT4+minGW+QDevelop
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.249] |
|
|
Правила раздела *nix / gcc / Eclipse / Qt / wxWidgets / GTK+
Ошибка при отладке
, QT4+minGW+QDevelop
|
Сообщ.
#1
,
|
|
|
|
|
Сообщ.
#2
,
|
|
|
|
Что-то происходит не так. Исключение не пойманное, исключение выпущенное из деструктора, просто вызов terminate и т.п.
Возможно, что я ответил не по теме, но как можно ответить, если не прозвучало вопроса . |
|
Сообщ.
#3
,
|
|
|
|
Я понял, что что-то не так.
А вопрос в том, что в Виндоусе не совсем понятно. Собирается через раз! Ошибка ![]() ![]() .......................................................... mingw32-make.exe[1]: Leaving directory `C:/Documents and Settings/Вова/My Documents/07_ЕОМіМП/kursak/win/TimeTable_s_old' cc1plus.exe: out of memory allocating 65536 bytes mingw32-make.exe[1]: *** [release\TimeTable.o] Error 1 C:\QT\MinGWStudio\MinGW\bin\mingw32-make.exe: *** [release] Error 2 В чём может быть ошибка? |
|
Сообщ.
#4
,
|
|
|
|
Да в чём угодно. Ты слишком мало информации предоставляешь и слишком многого за это просишь...
Я тебе уже подсказал, что скорее всего это неотловленное исключение. Об ошибках сборки тоже ничего конкретного сказать нельзя. |
|
Сообщ.
#5
,
|
|
|
|
В первый раз собралась и запустилась, во второй - окошко из первого поста и
![]() ![]() Отладка... (no debugging symbols found)...(gdb) (gdb) (gdb) (gdb) (gdb) Starting program: C:/Documents and Settings/Aiaa/My Documents/07_AII?II/kursak/win/TimeTable_s_old/release/TimeTable.exe Program exited with code 03. ---------------------- Отладка завершена ---------------------- Что значит "Program exited with code 03."? то, что отладку просто остановили? тогда почему в первый раз нориально. |
|
Сообщ.
#6
,
|
|
|
|
Значит main вернула значение 3.
К слову, можешь даже не пробовать отлаживать с помощью gdb прогу, расположенную в папке, имя которой содержит пробелы или русские символы. Ну и отладочную информацию включить неплохо было бы(IIRC: в .pro написать CONFIG += debug). По поводу ошибки компилятора: ну ты хоть версию его скажи(в консоли написать gcc -v). |
|
Сообщ.
#7
,
|
|
|
|
![]() ![]() C:\>gcc -v Reading specs from C:/QT/MinGWStudio/MinGW/bin/../lib/gcc-lib/mingw32/3.3.1/spec s Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host= mingw32 --target=mingw32 --prefix=/mingw --enable-threads --disable-nls --enable -languages=c,c++,f77,objc,ada,java --disable-win32-registry --disable-shared --e nable-sjlj-exceptions --enable-libgcj --disable-java-awt --without-x --enable-ja va-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz ation Thread model: win32 gcc version 3.3.1 (mingw special 20030804-1) на счёт русских букв и пробелов - то при установке в "програм файлы" не находился gdb. установил в C:/QT/MinGWStudio/. Заработало. проект в "C:/Documents and Settings/Вова/My Documents/" иногда работает. поробую перенести. |
|
Сообщ.
#8
,
|
|
|
|
vova, 3.4.2 поставь.
|
|
Сообщ.
#9
,
|
|
|
|
Перенёс . результат не изменился.
|
|
Сообщ.
#10
,
|
|
|
|
vova, я про отладку, а не про ф-ционирование - насколько я могу судить, gdb не понимает пробелы/русские буквы.
|
|
Сообщ.
#11
,
|
|
|
|
Цитата archimed7592 @ vova, 3.4.2 поставь. я поставил со сайта просто последнюю версию MinGWStudio (ну и по дурацки устанавливается - через интернет с какой-то шары). Где взять gcc 3.4.2? И что может значить ошибка, в каком направлении искать ![]() ![]() terminate called after throwing an instance of 'std::logic_error' what(): basic_string::_S_construct NULL not valid Аварийный останов |
|
Сообщ.
#12
,
|
|
|
|
1) mingw.org
2) значит где-то было выброшено исключение и никем не отловлено. Я тебе всю ветку про исключения талдычу... Может быть стоит разуть глаза? |
|
Сообщ.
#13
,
|
|
|
|
Пробую разуть глаза. Нашёл одну ошибку.
скачал gcc-g++-3.4.5-20060117-1.tar.gz. При простой распаковке с заменой старого - куча ошибок подключения файлов. Установил обратно старый ![]() ![]() ...... C:\QT\MinGWStudio\MinGW\bin\..\lib\gcc-lib\mingw32\3.3.1\..\..\..\..\mingw32\bin\ld.exe: cannot find -lqtmaind mingw32-make.exe[1]: *** [debug\TimeTable.exe] Error 1 C:\QT\MinGWStudio\MinGW\bin\mingw32-make.exe: *** [debug] Error 2 ---------------------- Сборка завершена с 2 ошибками ---------------------- Что это значит. Как можно заставить давать более подробные и вразумительные сообщения? |
|
Сообщ.
#14
,
|
|
|
|
Цитата vova @ Как можно заставить давать более подробные и вразумительные сообщения? Всё очень даже вразумительно. Компилятор не может найти библиотеку qtmaind. Тебе нужно скачать gcc и g++ версии 3.4.2, потом собрать Qt под этот компилятор, потом собирать свою прогу. |
|
Сообщ.
#15
,
|
|
|
|
qt4 было из ехе уже собраннное под mingw (под какую версию - не знаю).
Компилятор не может найти библиотеку lqtmaind т.к. ее нет - есть lqtmain. . Нашел ошибку - компилятор нашел библиотеку. Ошибк была - парсер хмл файла в случае пустой строки возвращал не "", а NULL. я это не проверял и через string.c_str() запихивал в ячейки таблицы . Короче собралась со старым 3.3.1, который внатуру лучше заменить на 3.4.2, |