我正在为Android的本地应用程序。它是用C++编写的,使用GCC 4.9编译,并使用Boost 1.59和Qt库。我在QtCreator控制台中看到这些粉红色的警告:
RTTI symbol not found for class 'boost::signals2::signal<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>'
RTTI symbol not found for class 'boost::signals2::signal<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>'
RTTI symbol not found for class 'boost::signals2::signal<void (), boost::signals2::optional_last_value<void>, int, std::less<int>, boost::function<void ()>, boost::function<void (boost::signals2::connection const&)>, boost::signals2::mutex>'
该应用程序在Android手机上运行。
这是令人不安的,因为我也有来自signals2
库的segfault崩溃。这个警告到底是什么意思,又是从哪里来的?
1条答案
按热度按时间envsm3lx1#
这个问题仍然是相关的,即使在提出7年后,在可预见的时间内可能仍然如此。
该错误可能是由GDB中的错误引起的,这些错误是由GCC的行为引起的。
参见:
https://gcc.gnu.org/legacy-ml/gcc-help/2017-08/msg00120.html
目前,它仍然是一个开放的问题,GCC开发团队的最新预测由Paul Smith在GCC bugzilla问题跟踪器上给出:
我想在下面添加一些有用的解决方法,但我不知道任何。评论赞赏。这个问题值得回答。这个问题浪费了开发人员大量的时间和精力。