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

boost笔记: Cannot open include file: ‘boost/mpl/aux_/preprocessed/plain/.hpp‘

1. 问题描述

因为一下库定义了宏and,导致boost的文件包含and.hpp展开成&.hpp,所以出现以下错误
Cannot open include file: ‘boost/mpl/aux_/preprocessed/plain/&.hpp’

2. 解决方案

  • 在定义宏之前包含boost文件,但这种方案的缺点是:当文件包含很复杂时,这样的位置不好找

  • 使用#pragma push_macro(“and”) #pragma pop_macro(“and”),在包含头文件时,先保存and的宏,然后undef,最后恢复and宏,但需注意编译器兼容性,MSVC 和 GCC/Clang 支持的这项扩展指令。示例如下:

    #ifdef and#pragma push_macro("and") //保存and宏定义#undef and#include BOOST_PP_STRINGIZE(boost/and.hpp) //包含头文件#pragma pop_macro("and") //恢复and宏定义
    #else#include BOOST_PP_STRINGIZE(boost/and.hpp)
    #endif
    
http://www.xdnf.cn/news/317971.html

相关文章:

  • Decode rpc invocation failed: null -> DecodeableRpcInvocation
  • Notion Windows桌面端快捷键详解
  • [ linux-系统 ] 常见指令3
  • Linux 服务器静态 IP 配置初始化指南
  • UniAppx 跳转Android 系统通讯录
  • linux中的find命令——查找文件名
  • SSL/TLS 证书与数字签名:构建互联网信任的详解
  • Review --- Redis
  • 金融企业如何借力运维监控强化合规性建设?
  • 【hot100】bug指南记录1
  • Qt界面设计时窗口中各控件布局及自适应方法
  • [250507] 小米发布首个推理模型 MiMo,70亿参数展现卓越性能
  • 使用 Java 11 的 HttpClient 处理 RESTful Web 服务
  • 【Linux】Linux环境基础开发工具
  • 精益数据分析(46/126):深入剖析用户生成内容(UGC)商业模式
  • 并发设计模式实战系列(17):信号量(Semaphore)
  • 解构与重构:自动化测试框架的进阶认知之旅
  • Spring Boot 为 MongoDB 自动配置了哪些核心 Bean?
  • Make:独立创造者手册——从0到1的商业自由之路
  • 任意文件读取漏洞
  • 阿里联合北大开源数字人项目FantasyTalking,输出内容更加动态化~
  • HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
  • 游戏引擎学习第262天:绘制多帧性能分析图
  • 标量/向量/矩阵/张量/范数详解及其在机器学习中的应用
  • MCP 入门指南
  • Kubernetes生产环境实战:深度排查Pod内存溢出(OOM)问题指南
  • 优选算法系列(8.多源BFS)
  • Vue3响应式:effect作用域
  • linux命令>/dev/null 2>1的含义
  • 【北京迅为】iTOP-4412精英版使用手册-第七章 Android 4.0/Linux源码编译