gpt4 book ai didi

c++ - 从 gcc 3.3.3 移植到 4.1.0,C++ 模板,对 undefined reference

转载 作者:太空宇宙 更新时间:2023-11-04 15:28:54 25 4
gpt4 key购买 nike

我们的应用程序在许多地方使用了 C++ 模板。我目前正在尝试从 gcc 3.3.3 移植到 4.1.0,但遇到了问题。我在一个小型共享库和可执行文件中重现了这个问题。我正在构建共享库 好的,但是可执行文件无法链接到以下内容:

    undefined reference to `MyNumber<int>::~MyNumber()'
undefined reference to `MyNumber<int>::MyNumber(int)'
undefined reference to `MyNumber<int>::number()'

我没有直接在可执行文件中使用模板类,而是希望所有这些都封装在共享库的实现中(可能天真如此)。

该问题仅在使用共享库时出现。当我在 SLES 11 (gcc 4.3.2) 上构建我们的应用程序时,我的大部分问题似乎都已解决,但我仍然收到以下一些问题:

    undefined reference to `vtable for MYCLASS<T1, T2>'

这一切都是在将可执行文件链接到共享库时。

最佳答案

这是一个令人痛苦的晦涩消息,但它意味着您没有定义虚函数,请参见 here

关于c++ - 从 gcc 3.3.3 移植到 4.1.0,C++ 模板,对 undefined reference ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/934725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com