gcc选项-fno-access-control 使用

背景:

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

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

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

问题解决:

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

cpp 复制代码
// #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

bash 复制代码
set(CMAKE_CXX_FLAGS "-fno-access-control")

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

参考链接:

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

相关推荐
努力努力再努力wz32 分钟前
【c++进阶系列】:map和set的模拟实现(附模拟实现的源码)
java·linux·运维·开发语言·c++
lingran__4 小时前
速通ACM省铜第三天 赋源码(Double Perspective和Trip Shopping和Hamiiid, Haaamid... Hamid?)
c++·算法
凤城老人4 小时前
C++使用拉玛努金公式计算π的值
开发语言·c++·算法
YaoYuan93236 小时前
C++ 类型推导(第一部分)
c++
夜猫逐梦7 小时前
【VC】 error MSB8041: 此项目需要 MFC 库
c++·mfc
姓刘的哦8 小时前
Qt中的QWebEngineView
数据库·c++·qt
C_player_0018 小时前
——贪心算法——
c++·算法·贪心算法
SundayBear8 小时前
QT零基础入门教程
c++·qt
kyle~9 小时前
排序---插入排序(Insertion Sort)
c语言·数据结构·c++·算法·排序算法
奔跑吧邓邓子10 小时前
【C++实战⑦】C++函数实战:从基础到项目应用
c++·实战·函数