我试图将两个项目合并在一起,一个是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")
答案 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统一代码。
希望这有助于某人!