您的位置:首页 > 教育 > 锐评 > 我要申请开网店_成都住建局官网e蓉_大连网站开发公司_app推广平台放单平台

我要申请开网店_成都住建局官网e蓉_大连网站开发公司_app推广平台放单平台

2024/10/5 16:46:40 来源:https://blog.csdn.net/jinlei2009/article/details/142612870  浏览:    关键词:我要申请开网店_成都住建局官网e蓉_大连网站开发公司_app推广平台放单平台
我要申请开网店_成都住建局官网e蓉_大连网站开发公司_app推广平台放单平台

背景:

在进行eigen库进行移植时,总是报编译错误:

error: 'struct std::basic_stringbuf<_CharT, _Traits, _Alloc>::__xfer_bufptrs' redeclared with different access struct __xfer_bufptrs

,单独写一个测试程序使用eigen库,编译跟运行都正常,但继承到项目中就是编译不通过,百思不得其解,后来查看资料,发现是这个项目中在编写单元测试时,修改了代码的访问权限导致的。

问题解决:

1.删除掉代码中修改权限代码。

// #undef private
// #undef protected
// #define private   public
// #define protected public#include "XXXXX.hpp"// #undef private
// #undef protected
// #define private   private
// #define protected protected

2.在cmakelist中添加编译选项-fno-access-control

set(CMAKE_CXX_FLAGS "-fno-access-control")

使用-fno-access-control 选项可以实现对私有成员的访问,比使用预定义的方式规范。

参考链接:

C++ 单元测试 访问控制小坑 - 技术学习小站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com