免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6243 | 回复: 5

[其他] 关于如何解决重复宏定义的问题 [复制链接]

论坛徽章:
1
2016科比退役纪念章
日期:2016-07-07 09:23:46
发表于 2013-05-29 21:00 |显示全部楼层
最近做程序遇到这样一个问题,在cygwin下编译,出现如下错误:

C:/Program Files/Microsoft SDKs/Windows/v7.1\Include\winuser.h(9439) : error C4005: 'WB_LEFT' edefinition
        D:/core-0523/core/include\tools/wintypes.hxx(160) : see previous definitEFT'
C:/Program Files/Microsoft SDKs/Windows/v7.1\Include/include\winuser.h(9440) : error C4005: 'WB_RIGHT' redefinition
        D:/core-0523/core/include\tools/wintypes.hxx(162) : see previous definitIGHT'


找到了winuser.h和wintype文件,发现二者都重复定义了宏WB_LEFT和WB_RIGHT,但两个文件又都有用,在编译过程中,都打开了,

winuser中的定义如下:
  1. /*
  2. * EDITWORDBREAKPROC code values
  3. */
  4. #define WB_LEFT            0
  5. #define WB_RIGHT           1

  6. #define WB_ISDELIMITER     2
复制代码
wintypes中的定义如下:
  1. // Standard-Window-Bits for ChildWindows
  2. #define WB_TABSTOP              ((WinBits)0x00000100)
  3. #define WB_NOTABSTOP            ((WinBits)0x00000200)
  4. #define WB_GROUP                ((WinBits)0x00000400)
  5. #define WB_NOGROUP              ((WinBits)0x00000800)
  6. #define WB_HORZ                 ((WinBits)0x00001000)
  7. #define WB_VERT                 ((WinBits)0x00002000)
  8. #define WB_LEFT                 ((WinBits)0x00004000)
  9. #define WB_CENTER               ((WinBits)0x00008000)
  10. #define WB_RIGHT                ((WinBits)0x00010000)
  11. #define WB_TOP                  ((WinBits)0x00020000)
复制代码
如今遇到宏重复定义的问题,两个文件都要用,而且宏名不能改,在项目验收测试过程中,遇到上述问题,望高手帮解决下。O(∩_∩)O谢谢。

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
发表于 2013-05-29 22:08 |显示全部楼层
LibreOffice?更新到最新版本吧……

论坛徽章:
1
2016科比退役纪念章
日期:2016-07-07 09:23:46
发表于 2013-05-30 08:38 |显示全部楼层
回复 2# starwing83


    是LibreOffice,但已经是最新版了。。。看看有什么解决的方法吗?
我要是把其中的一个宏注释掉也不行。。。

论坛徽章:
0
发表于 2013-05-30 10:18 |显示全部楼层
试下#undef 。。。。

论坛徽章:
1
2016科比退役纪念章
日期:2016-07-07 09:23:46
发表于 2013-05-30 12:13 |显示全部楼层
回复 4# zanghualiu


   试过了,不好用。。。

论坛徽章:
1
2016科比退役纪念章
日期:2016-07-07 09:23:46
发表于 2013-05-30 17:13 |显示全部楼层
解决了,先用#ifndef对付下,等测试结束后,再说。结了吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP