使用 gcc11 编译时,Opensplice 中有很多"implicitly-declared '[...]::operator=([...])' is deprecated"错误



我在项目中使用Opensplice库,一切都在使用gcc4。我想用gcc11编译我的项目,但我在Opensplice部分遇到了很多相同的错误。例如:

implicitly-declared ‘dds::core::status::SampleRejectedState& dds::core::status::SampleRejectedState::operator=(const dds::core::status::SampleRejectedState&)’ is deprecated

我知道我们应该在gcc11中同时定义赋值运算符和复制构造函数,或者两者都不定义。但是,如何为Opensplice修复此问题?我可以用gcc11再次构建Opensplice吗?或者我应该做其他事情?

要解决此问题,我们可以执行
1-要求供应商内部解决此问题
2-通过删除-Werror标志来禁用所有这些错误
3-如果希望保留-Werror标志,则可以添加-Wno-deprecated-copyWno-error=depricated-copy

相关内容

  • 没有找到相关文章

最新更新