遇到蛋疼问题特来求教,望各位大神赐教..

snookermx 2018-04-13 01:31:55
手上有一套c++程序,里面加了一个C写的解析GIF文件的库,这个库用到stdbool.h .这个文件缺失,我就百度了一个,内容是 :

#undef bool
#undef true
#undef false
#define bool int
#define false 0
#define true (!false)

就是C中没有bool, 自己定义了一个...但是 包含了这个头文件以后. GIF库是没有错误了, 反而导致f相关C++文件中包含 bool类型的函数全部按int编译, 结果是链接的时候出错,各种 bool ,true, false未定义,声明与实现不一致, 函数未定义等等的错误.

我就想问问 #undef bool 以后怎么再定义回原本的bool ? 或者只在区间内起作用? 我在包含的头文件加了#if #endif也不起作用..
总之, 除了另外找个C++的GIF库替换这个C的之外,我再也想不到要怎么解决这个..

求教,谢谢.
...全文
825 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xian_wwq 2018-04-13
  • 打赏
  • 举报
回复
也可以将c中的bool统一更名为your_bool, 避免与c++的bool类型冲突
paschen 2018-04-13
  • 打赏
  • 举报
回复
c++中的bool不是宏定义的,是一种基本类型 你可以用#ifdef判断是否是C代码,把你那部分代码放到相应条件下

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧