自定义对象的dlib序列化在gcc中失败

dlib serialization on custom object fails in gcc

本文关键字:gcc 失败 序列化 对象 dlib 自定义      更新时间:2023-10-16

我在命名空间中定义了一个类。我创建了dlib所需的序列化/反序列化方法,使其在命名空间之外可序列化。它在使用VC++的Windows上运行良好,但在使用gcc的Ubuntu中则不然,显示了一个编译错误,称找不到该方法。当我从类中删除名称空间时,序列化工作正常。

这是第一个问题,因为我不知道为什么它在一个编译器中有效,而在另一个编译器不有效,而且我更喜欢给类留一个名称空间。

另一个问题是,我需要序列化一个不能没有命名空间的类,所以我需要让它与它一起工作

欢迎任何想法,如果需要更多信息,我可以提供。

我已经解决了这个问题。问题是我在要序列化的类的命名空间之外声明了序列化/反序列化函数。我不知道为什么它能在VC++上工作,但现在它能在两个编译器中工作。