C++Builder2009包含winhttp.h的头文件,为什么会报错?

flymoon99 2009-05-27 09:58:01
C++Builder2009包含winhttp.h的头文件,为什么会报错?


[BCC32 Error] winhttp.h(111): E2238 Multiple declaration for 'HTTP_VERSION_INFO'
[BCC32 Error] wininet.h(476): E2344 Earlier declaration of 'HTTP_VERSION_INFO'
[BCC32 Error] winhttp.h(111): E2238 Multiple declaration for 'LPHTTP_VERSION_INFO'
[BCC32 Error] wininet.h(476): E2344 Earlier declaration of 'LPHTTP_VERSION_INFO'
[BCC32 Error] winhttp.h(118): E2238 Multiple declaration for 'INTERNET_SCHEME'

说是哪个啥啥重复定义- -!,但是我没在其他地方包含wininet.h了- -!,难道自带的INDY给包上了?但是我没引用INDY的东西。。。。
...全文
337 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
flymoon99 2009-06-01
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 fairchild811 的回复:]
引用 15 楼 flymoon99 的回复:
终于搞定了...... 把vcl目录下的wininet.hpp改了个名字,接着屏蔽了ShlObj.hpp中的
//#include <WinInet.hpp> // Pascal unit

- -!算是搞定了,发工资了同志们



和windows的h文件冲突了?
[/Quote]

前面已经说过了,是VCL为了减小体积,预先给你包装了一层.名字叫wininet.hpp,这样的话,我再包含winhttp.h的话,里面的结构定义就重复了.不过奇怪的是- -!为什么对wininet.h进行了包装,却不对winhttp.h进行包装..
fairchild811 2009-05-31
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 flymoon99 的回复:]
终于搞定了...... 把vcl目录下的wininet.hpp改了个名字,接着屏蔽了ShlObj.hpp中的
//#include <WinInet.hpp> // Pascal unit

- -!算是搞定了,发工资了同志们

[/Quote]

和windows的h文件冲突了?
flymoon99 2009-05-31
  • 打赏
  • 举报
回复
终于搞定了...... 把vcl目录下的wininet.hpp改了个名字,接着屏蔽了ShlObj.hpp中的
//#include <WinInet.hpp> // Pascal unit

- -!算是搞定了,发工资了同志们
我来看看CB 2009-05-31
  • 打赏
  • 举报
回复
没注意到。很奇怪的问题。升级版本
yangangs 2009-05-31
  • 打赏
  • 举报
回复
重定义了,估计只能注释掉啊
lextm 2009-05-31
  • 打赏
  • 举报
回复
WinHTTP,WinINet以及Indy都实现了HTTP。没必要为了个WinHTTP花这大把的时间吧。
AuroraAlpha 2009-05-29
  • 打赏
  • 举报
回复
复制一份头文件到你的项目文件夹里,改个名重新调用后再用//注释掉
flymoon99 2009-05-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 songhtao 的回复:]
把那些重复定义的用//注释掉,试试。
[/Quote]

去掉应该可以的,不过似乎不应该把库的头文件给修改了。。。。。。再求良策
周药师 2009-05-29
  • 打赏
  • 举报
回复
只能帮你顶!
flymoon99 2009-05-29
  • 打赏
  • 举报
回复
再放个几天,期待更好的答案,实在没有就给大伙发工钱吧。
fairchild811 2009-05-28
  • 打赏
  • 举报
回复
sorry...
我不懂电脑 2009-05-28
  • 打赏
  • 举报
回复
把那些重复定义的用//注释掉,试试。
flymoon99 2009-05-27
  • 打赏
  • 举报
回复
LS列出的,就是我查到的,呵呵,试过之后不行。
flymoon99 2009-05-27
  • 打赏
  • 举报
回复
放到VCL前面也一样
i_love_pc 2009-05-27
  • 打赏
  • 举报
回复
是不是头文件的包含顺序的问题??
flymoon99 2009-05-27
  • 打赏
  • 举报
回复
网上看了下老外的文章,说是VCL中为了减少体积,默认包含了windows用到的一些结构,但给出的方法都不能解决问题。除非不用VCL。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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