首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MFC winsock1和2

MFC winsock1和2
EN

Stack Overflow用户
提问于 2010-09-15 16:03:31
回答 1查看 236关注 0票数 0

我的项目陷入了困境。

我必须将两个雷达连接到我的程序中,但第一个雷达有自己的库,使用winsock,而第二个雷达我想使用winsock2。

我该怎么做呢?

目前,我从winsock.hwinsock2.h中的includes中得到了许多重新定义错误。

考虑到第一个雷达库已经是一个DLL,我只得到了一个头文件和lib文件(没有源代码)。

提前感谢您的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-15 19:46:07

你可以通过构造你的代码(和预编译头文件)来解决编译问题,这样就没有文件同时包含winsock.h和winsock2.h,这可能意味着要么根本不使用预编译头文件,要么以比MFC项目中常见的更复杂的方式使用它们……

您可以将每个DLL包装在COM对象中,并通过COM从主程序访问它们。这样做的好处是将两个DLL的使用与您的主编译完全分开。

您可以将每个DLL包装在一个新的DLL中(每个DLL一个),它为您的程序提供了一个接口,该接口不需要在接口标头中包含winsock标头。

当然,这可能只是你的Windows.h包含顺序的一个问题,试着把它放在你的预编译头文件的顶部……

代码语言:javascript
运行
复制
#ifndef _WINDOWS_
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#undef WIN32_LEAN_AND_MEAN
#endif

#include <winsock2.h>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3715721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档