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

相关推荐
流星白龙17 分钟前
【C++算法】4.双指针_快乐数
c++·算法
羑悻的小杀马特22 分钟前
AVL树(平衡二叉树)的介绍以及相关构建
c++·算法·平衡二叉树·avl树
timidcatt31 分钟前
独立游戏《Project:Survival》UE5C++开发日志0——游戏介绍
c++·游戏·ue5
charon877837 分钟前
Unreal Engine 5 C++: 插件编写03 | MessageDialog
c++·ue5·游戏引擎·虚幻
xzz_06111 小时前
洛谷 AT_abc365_c [ABC365C] Transportation Expenses 题解
c++·二分查找·题解·洛谷·atcoder
雨疏风骤661 小时前
9.23作业
开发语言·c++·算法
高溪流1 小时前
Part_one C语言概述
c语言·开发语言·c++
van叶~1 小时前
移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——15.红黑树
c++·算法
Invulnerabl_DL2 小时前
C++的动态数组
开发语言·数据结构·c++
宝哈2 小时前
认识 Linux操作系统
linux·运维·服务器·开发语言·c++·算法