crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> проблема с отладкой
Гость_Гость_*
сообщение 15.12.2008, 15:35
Сообщение #1





Гости








    


добрый день
дано
Qt 4.4.1,mingw5.1.4,gdb,eclipse
вот создаю обычны Qt Gui проект и хочу отдебажить но выскакивает след.ошибка
CODE
No source available for "main()

в чем дело?
p.s
и что странное что консольное преложение у меня дебагируется без проблем
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 15.12.2008, 16:00
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Вот что говорят на англоязычном форуме eclipse, как решить эту проблему:
Цитата
1. Unable to debug: You probably haven't built for debug. Use the -g -O0 options to the compiler for debug build
2. Highlight moving randomly: This is probably becuase you have built for debug, but with a high level of optimisation. When optimised, the compiler will move code around to make it optimal, but this pretty much break the association with the source - hence what you are seeing.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 15.12.2008, 17:10
Сообщение #3





Гости








    


ViGOur,
если я все правельно понял то мне надо собрат так
то project->property->C++ Make Project Build(incremental) в debug я заменил debug -g -O0
но теперь у меня даже не соберается
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.12.2008, 17:45
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_Гость_* @ 15.12.2008, 20:10) *
-g -O0
это ключи компилятора, т.е.
gcc -g -O0 file.cpp

я не знаю как Эклипс компилит, если он не испоьзует make-файлы, то видимо, где-то вручную можно эти ключи прописать.
Если же используется вся Qt'явая связка qmake->make, то можно попробывать либо в каждый pro-файл записать строчки:
QMAKE_CFLAGS_DEBUG += -O0

либо дописать этот ключ (-O0) к этой переменной в файле %QTDIR%\mkspecs\win32-g++\qmake.conf
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 15.12.2008, 18:05
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Если собирать debug сборку, то ключ -g добавляется автоматически. Смысл в нулевой оптимизации может и есть, но у меня и без нее работает.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 15.12.2008, 18:07
Сообщение #6





Гости








    


Цитата
где-то вручную можно эти ключи прописать.

как прописать этот ключ комполяторая не знаю подскажите
а вот попробовал как и вы посоветовали
прописал в .pro след. сторку QMAKE_CFLAGS_DEBUG += -O0 но не помогло
добавил в qmake.conf тоже не помогло
QMAKE_CFLAGS_DEBUG = -g
QMAKE_CFLAGS_DEBUG += -O0

опять те же ошибки
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.12.2008, 18:09
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(SABROG @ 15.12.2008, 21:05) *
но у меня и без нее работает.
поидее так и должно быть, ведь если оптимизация явно неу казана, то и нет ее.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Гость_*
сообщение 15.12.2008, 18:11
Сообщение #8





Гости








    


SABROG,
Цитата
Если собирать debug сборку, то ключ -g добавляется автоматически. Смысл в нулевой оптимизации может и есть, но у меня и без нее работает.

да в конфиге у меня ключ (QMAKE_CFLAGS_DEBUG = -g) был
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 15.12.2008, 18:21
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(Litkevich Yuriy @ 15.12.2008, 18:09) *
Цитата(SABROG @ 15.12.2008, 21:05) *
но у меня и без нее работает.
поидее так и должно быть, ведь если оптимизация явно неу казана, то и нет ее.


Я имею ввиду, что она есть и я ее не прописывал специально нигде :)

по умолчанию такая (это уже в сгенеренном makefile.release от qmake'a)
CFLAGS        = -O2 -Wall $(DEFINES)
CXXFLAGS      = -O2 -frtti -fexceptions -mthreads -Wall $(DEFINES)


А это в файле makefile.debug

CFLAGS        = -g -Wall $(DEFINES)


Сообщение отредактировал SABROG - 15.12.2008, 18:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 15.12.2008, 18:32
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


SABROG, в отладочном варианте ее как раз нет, ключ g означает включение отладочной информации. А уровень оптимизмции (ключ -O) отсутсвует.

2 Гость_Гость_*, покажи своий make.release
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 12:26