VC6升级到2005时的问题

chuachua66 2010-08-31 08:42:20
一个工程在VC6下,现在想升级到2005下(不升级不行,工程太大,obj超过4K,无法生成pdb文件了),但是我的一个类名和升级
版的<winsock2.h>里一个类型定义重了,编译时说我重定义。

这个类在我的工程中使用的地方有5000多处,所以不能用改名的办法,和<winsock2.h>又分不开,求大哥们给个可行的办法!

比如有没有什么办法可以在引用库函数的时候屏蔽一些他们的声明?
...全文
53 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chuachua66 2010-09-01
  • 打赏
  • 举报
回复
多谢2楼,用“也可以把头文件复制一份到项目目录,把冲突的定义改掉,项目中用"winsock2.h"包含”解决了。
chuachua66 2010-09-01
  • 打赏
  • 举报
回复
回2楼:
1、全部查找替换那是没办法的办法了,不到最后一步我不想用这个办法,真的不保险。
2、不是#define,是typedef,这个有办法取消吗?我在想的就是怎么能在引用头文件后把这个定义用类似#undef的方法屏蔽掉,反正我也用不到它定义的这个类型。
li 2010-08-31
  • 打赏
  • 举报
回复
关注中
cnzdgs 2010-08-31
  • 打赏
  • 举报
回复
用替换功能,在项目的所有文件中替换,全字匹配、区分大小写。

如果是用#define定义的宏,可以#undef取消定义。

也可以把头文件复制一份到项目目录,把冲突的定义改掉,项目中用"winsock2.h"包含。
q107770540 2010-08-31
  • 打赏
  • 举报
回复

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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