![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_Гость_* |
![]()
Сообщение
#1
|
Гости ![]() |
добрый день
дано Qt 4.4.1,mingw5.1.4,gdb,eclipse вот создаю обычны Qt Gui проект и хочу отдебажить но выскакивает след.ошибка CODE No source available for "main() в чем дело? p.s и что странное что консольное преложение у меня дебагируется без проблем |
|
|
![]() |
ViGOur |
![]()
Сообщение
#2
|
![]() Мастер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: ![]() ![]() ![]() |
Вот что говорят на англоязычном форуме 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. |
|
|
Гость_Гость_* |
![]()
Сообщение
#3
|
Гости ![]() |
ViGOur,
если я все правельно понял то мне надо собрат так то project->property->C++ Make Project Build(incremental) в debug я заменил debug -g -O0 но теперь у меня даже не соберается |
|
|
Litkevich Yuriy |
![]()
Сообщение
#4
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
-g -O0 это ключи компилятора, т.е. gcc -g -O0 file.cpp я не знаю как Эклипс компилит, если он не испоьзует make-файлы, то видимо, где-то вручную можно эти ключи прописать. Если же используется вся Qt'явая связка qmake->make, то можно попробывать либо в каждый pro-файл записать строчки: QMAKE_CFLAGS_DEBUG += -O0 либо дописать этот ключ (-O0) к этой переменной в файле %QTDIR%\mkspecs\win32-g++\qmake.conf |
|
|
SABROG |
![]()
Сообщение
#5
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Если собирать debug сборку, то ключ -g добавляется автоматически. Смысл в нулевой оптимизации может и есть, но у меня и без нее работает.
|
|
|
Гость_Гость_* |
![]()
Сообщение
#6
|
Гости ![]() |
Цитата где-то вручную можно эти ключи прописать. как прописать этот ключ комполяторая не знаю подскажите а вот попробовал как и вы посоветовали прописал в .pro след. сторку QMAKE_CFLAGS_DEBUG += -O0 но не помогло добавил в qmake.conf тоже не помогло QMAKE_CFLAGS_DEBUG = -g QMAKE_CFLAGS_DEBUG += -O0 опять те же ошибки |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Гость_Гость_* |
![]()
Сообщение
#8
|
Гости ![]() |
SABROG,
Цитата Если собирать debug сборку, то ключ -g добавляется автоматически. Смысл в нулевой оптимизации может и есть, но у меня и без нее работает. да в конфиге у меня ключ (QMAKE_CFLAGS_DEBUG = -g) был |
|
|
SABROG |
![]()
Сообщение
#9
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
но у меня и без нее работает. поидее так и должно быть, ведь если оптимизация явно неу казана, то и нет ее.Я имею ввиду, что она есть и я ее не прописывал специально нигде ![]() по умолчанию такая (это уже в сгенеренном makefile.release от qmake'a)
А это в файле makefile.debug
Сообщение отредактировал SABROG - 15.12.2008, 18:22 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
SABROG, в отладочном варианте ее как раз нет, ключ g означает включение отладочной информации. А уровень оптимизмции (ключ -O) отсутсвует.
2 Гость_Гость_*, покажи своий make.release |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.6.2025, 3:27 |