Russian Qt Forum

Qt => Общие вопросы => Тема начата: lecas от Июль 01, 2010, 09:19



Название: try catch
Отправлено: lecas от Июль 01, 2010, 09:19
добавил в программу
Код:
try{}
catch(...){}
Qtcreater на стадии компиляции выдает
Цитировать
exception handling disabled, use -fexceptions to enable
qmake.exe не знает такого параметра -fexceptions


Название: Re: try catch
Отправлено: Hellraiser от Июль 01, 2010, 09:33
В .pro файле добавить строку
Код:
QMAKE_CXXFLAGS += -fexceptions


Название: Re: try catch
Отправлено: lecas от Июль 01, 2010, 10:16
не помогла


Название: Re: try catch
Отправлено: BRE от Июль 01, 2010, 10:38
не помогла
А такая?
CONFIG += exceptions


Название: Re: try catch
Отправлено: Hellraiser от Июль 01, 2010, 10:42
Странно. У меня gcc 4.4.0, Qt 4.6.2 (сборка для mingw, без перекомпиляции) - использую try/catch вообще без всяких флагов и директив, никаких ошибок. В .pro установлено только
Код:
CONFIG += qt thread debug_and_release


Название: Re: try catch
Отправлено: crossly от Июль 01, 2010, 10:47
возможно Qt собрана с -no-exceptions


Название: Re: try catch
Отправлено: lecas от Июль 01, 2010, 11:04
Цитировать
CONFIG += exceptions
Спасибо, скомпилился.
Только вот не работает как надо, вылетает не заходя в catch
Код:
try{
if(1)
throw("");
}
catch(...)
{
qDebug() <<"error";
}
А под линуксом работает нормально


Название: Re: try catch
Отправлено: lecas от Июль 01, 2010, 11:07
Цитировать
возможно Qt собрана с -no-exceptions
офф сайта скачал, сам нечего не собирал


Название: Re: try catch
Отправлено: Sancho_s_rancho от Июль 01, 2010, 11:29
Цитировать
возможно Qt собрана с -no-exceptions
офф сайта скачал, сам нечего не собирал
Я тоже полагаю, что Qt собрана с -no-exceptions. Отсюда и ключи по умолчанию сборки вашего приложения.