Непонятный "вылет" программы., а должна была быть кросплатформенной... |
Здравствуйте, гость ( Вход | Регистрация )
Непонятный "вылет" программы., а должна была быть кросплатформенной... |
NordWest |
21.4.2009, 19:05
Сообщение
#1
|
Студент Группа: Участник Сообщений: 86 Регистрация: 26.11.2008 Пользователь №: 433 Спасибо сказали: 1 раз(а) Репутация: 0 |
Пишем программу в Qt. Начинали под винду, теперь есть непреодолимое желание использовать её ещё и под Линуксом, там более кросплатформ и всё такое... Но программа сопротивляется.
Вылетает она из библиотеки, которая позволяет работать со специальными графическими файлами. При открытии такого файла, т.е. при вызове метода fits_open_file() из этой библиотеки, программа вылетает, и если в релизе она это делает молча, то в дебуг-варианте в консоль выдается следующее: CODE Scope for 7037: Symbol fptr is a variable with multiple locations, length 4. Symbol imgtype is a variable with multiple locations, length 4. Symbol status is a variable with multiple locations, length 4. Symbol tstatus is a variable with multiple locations, length 4. Symbol lngscale is a variable with multiple locations, length 4. Symbol bscale is a variable with multiple locations, length 8. Symbol bzero is a variable with multiple locations, length 8. Symbol min_val is a variable in register st3, length 8. Symbol max_val is a variable in register st1, length 8. (gdb) Program terminated with signal SIGSEGV, Segmentation fault. The program no longer exists. (gdb) Это как же понимать? Области переменных смешались? |
|
|
igor_bogomolov |
21.4.2009, 22:34
Сообщение
#2
|
Профессионал Группа: Сомодератор Сообщений: 1215 Регистрация: 22.3.2009 Из: Саратов Пользователь №: 630 Спасибо сказали: 235 раз(а) Репутация: 29 |
Вот твоя ошибка. Так делать категорически нельзя. fname у тебя невалиден.
char *fname = fitsFileName.toAscii().data(); подробно здесь Сообщение отредактировал igor_bogomolov - 21.4.2009, 22:37 |
|
|
Текстовая версия | Сейчас: 29.11.2024, 6:39 |