尝试使用Boost.Python,我偶然发现了这样的错误:
$ LD_LIBRARY_PATH=. python
>>> import Tackle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: ./Tackle.so: undefined symbol: _ZN6Tackle12TGameSessionD1Ev
现在,这究竟意味着什么?我知道ImportError
,这是直截了当的。
Tackle.so
是无法导入的目标文件,undefined symbol
表示未定义预期符号(构造函数,变量,...),Tackle
是命名空间,TGameSession
是班级。
但_ZN6
,12
和D1Ev
是什么意思?
是否有关于这些错误消息的文档?
经过一番猜测后,我发现它在这种情况下是一个复制构造函数。但除了随机猜测之外我该怎么知道?