未定义对`__cxa_throw_bad_array_new_length的引用

时间:2019-04-16 16:03:40

标签: g++ centos7

有几篇文章引用了这个(或类似的)未定义的引用,但是这些都没有帮助。

我有可以在gentoo 4.14.83上很好地编译的代码,同时具有gcc-7.3.0和gcc-8.2.0。

在CentOS 7(CentOS Linux版本7.6.1810(核心))上,g ++-7.3.1的链接器说:

/home/jody/progs/multi_spc_QHG3/kernel/Geography.cpp:68: undefined reference to `__cxa_throw_bad_array_new_length'
/home/jody/progs/multi_spc_QHG3/kernel/Geography.cpp:69: undefined reference to `__cxa_throw_bad_array_new_length'
/home/jody/progs/multi_spc_QHG3/kernel/Geography.cpp:70: undefined reference to `__cxa_throw_bad_array_new_length'
/home/jody/progs/multi_spc_QHG3/kernel/Geography.cpp:71: undefined reference to `__cxa_throw_bad_array_new_length'

Geography.cpp中的引用行具有简单的new语句:

m_adLatitude   = new geonumber[m_iNumCells];
m_adLongitude  = new geonumber[m_iNumCells];
m_adAltitude   = new geonumber[m_iNumCells]; 
m_adDistances  = new geonumber[m_iNumCells*m_iMaxNeighbors];

(类型geonumber实际上是doublem_iNumCellsm_iMaxNeighbors的类型是int

因为我需要g ++版本7,所以我使用devtoolset-7-gcc.x86_64中的编译器。

我发现的某些帖子指出此错误是由于缺少libstdc ++引起的,但此处并非如此。

什么原因导致此错误,如何解决?

0 个答案:

没有答案
相关问题