winsock2重新定义合并问题

时间:2014-01-15 03:01:14

标签: c++ merge winsock winsock2

我试图将两个项目合并在一起,一个是openGl中的项目,另一个是Windows控制台应用程序,实现了一些基本的winsock网络。 我开始通过包含原始网络程序中的所有#include来合并它们,但是我得到了100多个错误,告诉我我已经重新定义了ws2def.h和winsock中的所有结构和函数.H

所以这些是我的main.cpp

的#includes
#include <windows.h>
#include <stdio.h>
#include <mmsystem.h>
#include <math.h>
#include <time.h>

#include <list>
#include <iostream>

#include <stdlib.h>
#include <string>
#include <winsock2.h>

#pragma comment(lib, "ws2_32.lib")

2 个答案:

答案 0 :(得分:1)

where('name LIKE ?', "%#{params[:query]}%")

这可以防止windows.h包含旧的winsock头文件。

答案 1 :(得分:0)

我在尝试将以前工作的live555服务器与编码器应用程序集成时遇到了同样的问题。

我使用的每个库都包括winsock和winsock2来完成他们的任务。

我首先尝试使用WIN32_LEAN_AND_MEAN定义,但这对我没用。

在我的案例(VS 2013)中结束工作的是在 配置属性 - &gt;中添加 _WINSOCKAPI _ 预处理器 - &gt;预处理器定义

这样做是为了在项目范围内设置windows.h,不包括winsock。

另外,由于我的单独程序使用了winsock和winsock2,因此我使用winsock2统一代码。

希望这有助于某人!