我在Qt 5.2中工作,并且有一个类需要使用boost :: asio' sockets。我这个类的标题格式如下:
#include <boost/asio.hpp>
#include <iostream>
#include <list>
#include <QFile>
#include <string>
#include <utility>
#include <vector>
#ifndef MyClass_H
#define MyClass_H
class MyClass
{
public:
MyClass();
private:
boost::asio::io_service io;
boost::asio::ip::tcp::socket socket;
};
#endif // MyClass_H
这个课程本身很好......但是,我需要在另一个类中调用此对象。当我尝试将#include "MyClass.h"
添加到另一个文件时,我得到三条相同的错误消息,其中包含
C1189: #error: WinSock.h has already been included
我没有明确地将此文件包含在我的项目中的任何位置,并且我确实重新包含了包含MyClass的类中的任何boost库。我在网上的论坛上发现了很多类似的问题,但似乎解决方案似乎总是让boost / asio的include行首先包含在文件中,我已经有了这样的方式,我仍然得到错误。如果有人可以请求帮助,我真的很感激,谢谢。