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++ 单元测试 访问控制小坑 - 技术学习小站

相关推荐
所以遗憾是什么呢?9 小时前
【题解】Educational Codeforces Round 195 (Rated for Div. 2) ABCDE
c++·动态规划·acm·icpc·ccpc·xcpc·codeforecs
Lhan.zzZ11 小时前
Qt WebEngineView 在 Linux 上无法加载网页:从“看不见 HTML“到“禁用沙箱“
linux·c++·qt
sysu_chenxy13 小时前
二重循环输出二维图形
c++
划破黑暗的第一缕曙光14 小时前
[C++]:2.类和对象(下)
c++·类和对象·对象·类
黎相思15 小时前
LRU Cache
c++·缓存
UIU11416 小时前
P1003 [NOIP 2011 提高组] 铺地毯
数据结构·c++·算法
xxwl58517 小时前
区域赛算法模版第四章---数据结构
数据结构·c++·算法
余额瞒着我当琳19 小时前
哈希表底层原理解析,直接定址法,哈希冲突,负载因子,哈希函数,开放定址法
java·c++·哈希算法·散列表
xxwl58519 小时前
区域赛算法模版第五章---数学与数论
c++·笔记·算法
局部有解19 小时前
LeetCode Hot100 438 找到字符串中所有字母异位词
c++·算法·leetcode