Исключения не обнаруживаются при связывании статических библиотек - PullRequest
0 голосов
/ 10 июня 2018

Я начал реализовывать try / catch в моей программе, но когда я тестировал его, исключения никогда не обнаруживались, и программа просто зависала.Даже самый простой вариант использования try / catch потерпит неудачу, т.е.

try
{
    throw 123;
}
catch (...)
{
    cerr << "This line doesn't get hit." << endl;
}

После долгих размышлений о том, как работают исключения и отладки, я наконец обнаружил, что проблема была в том, что я связывался с конкретно -static-libstdc++ который был причиной перерыва.Исключения работают нормально, когда этот флаг не установлен.После дальнейших исследований я обнаружил этот отчет об ошибке , но я не могу понять, что на нем написано.Похоже, что проблема все еще находится на свободе, но согласно этому более раннему сообщению об ошибке кажется, что может быть обходной путь согласно комментариям.К сожалению, я не совсем понимаю, что означают все комментарии и что они сделали для того, чтобы заставить его работать, если вообще вне сборки GCC вручную (чего я бы хотел избежать, если смогу).

Есть лиспособ устранения этой ошибки, в то же время связывая статическую стандартную библиотеку lib, и как мне это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...