当前位置: 首页 > article >正文

gcc选项-fno-access-control 使用

背景:

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


http://www.kler.cn/news/328917.html

相关文章:

  • redis中的数据类型(Set与ZSet)
  • pre-commit 的配置文件
  • c++primier第十二章类和动态内存
  • Flink 性能优化的高频面试题及答案
  • 【redis-03】redis缓存穿透、缓存击穿、缓存雪崩
  • 平安养老险深圳分公司积极开展“金融教育宣传月”活动,展现金融为民新风尚
  • C++随心记
  • Linux 再入门整理:详解 /etc/fstab 文件
  • diffusion vs GAN
  • HealChat心理大语言模型 丨OPENAIGC开发者大赛高校组AI创作力奖
  • 数据结构-3.7.双端队列
  • 栈(模板)、队列(模板)(9.27)
  • 5分钟精通Excel在go中的使用
  • 7--苍穹外卖-SpringBoot项目中套餐管理 详解(一)
  • QT中的按钮控件和comboBox控件和spinBox控件无法点击的bug
  • 发布-订阅模式演示示例
  • 神点SAAS云财务系统/多账套/前后端全开源
  • 【PostgreSQL】入门篇——索引:提高查询性能的利器
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,1-1
  • 论React Native 和 UniApp 的区别
  • 【CTF Web】Pikachu 反射型xss(get) Writeup(反射型XSS+GET请求)
  • 代码随想录Day 59|图论Part09,dijkstra(堆优化版)精讲、Bellman_ford算法精讲
  • 继承实现单例模式的探索(一)
  • 已解决:“ModuleNotFoundError:No module named apex”
  • Vue3+Antv X6流程图基本使用
  • 蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键
  • 智能工厂的设计软件 三部曲-表征模式mode(大纲图轮廓图和草图)之1 “草图”--基类基元:“概念对子Pair
  • [leetcode]300_最长递增子序列
  • HTTP Status 404 - /brand-demo/selectAllServlet错误解决原因-Servlet/JavaWeb/IDEA
  • Spring异常处理-@ExceptionHandler-@ControllerAdvice-全局异常处理