我使用自编译的GCC 4.8.2在Scientific Linux 6.4(64位)下编译了一个C ++ 11应用程序。应用程序可以正常编译,但在运行时(LD_LIBRARY_PATH
设置为包含gcc 4.8.2 lib64目录以便找到libstdc++.so.6
),将显示以下消息:
Symbol `_ZTISt16invalid_argument' causes overflow in R_X86_64_32 relocation
Symbol `_ZTISt16invalid_argument' causes overflow in R_X86_64_32 relocation
Symbol `_ZTISt12out_of_range' causes overflow in R_X86_64_32 relocation
(解码后的符号名称为typeinfo for std::invalid_argument
和typeinfo for std::out_of_range
)
通常应用程序运行良好;但在某些情况下它会崩溃,显然是因为它试图捕获一个“invalid_argument”异常,而异常则被提升到顶部框架。
这些消息意味着什么,我该如何修复它们?