- cplusplus/
- C++ 使用boost::asio/windows7/visual studio 2010时出现编译器错误
C++ 使用boost::asio/windows7/visual studio 2010时出现编译器错误
C++ 使用boost::asio/windows7/visual studio 2010时出现编译器错误,c++,visual-studio-2010,windows-7,boost-asio,C++,Visual Studio 2010,Windows 7,Boost Asio,在我的系统(win7、vs2010、boost 1.49)上编译boost::asio程序已经有好几个小时了,我一直在苦苦挣扎。Boost已正确构建并链接到我的vs项目。我用boost::regex进行了一次测试运行,一切正常
编译器抱怨有2个头(in6addr.h、ws2ipdef.h),大约90%是C2146(语法)和C2079(未定义的类/结构/联合名称)错误
大量错误与未定义的windows类型定义(USHORT、ULONG…)和winsock定义(套接字地址、地址族)有关。在这篇文章的
在我的系统(win7、vs2010、boost 1.49)上编译boost::asio程序已经有好几个小时了,我一直在苦苦挣扎。Boost已正确构建并链接到我的vs项目。我用boost::regex进行了一次测试运行,一切正常
编译器抱怨有2个头(in6addr.h、ws2ipdef.h),大约90%是C2146(语法)和C2079(未定义的类/结构/联合名称)错误
大量错误与未定义的windows类型定义(USHORT、ULONG…)和winsock定义(套接字地址、地址族)有关。在这篇文章的末尾可以找到一个样本
我的建议包括:
#pragma once
#include "targetver.h"
#include <boost/asio.hpp>
#include <boost/shared_ptr.hpp>
#include <boost/cstdint.hpp>
#include <boost/bind.hpp>
#include <boost/enable_shared_from_this.hpp>
#include <stdio.h>
#include <tchar.h>
#include <string>
#include <cassert>
#include <vector>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <map>
#include <sstream>
#pragma一次
#包括“targetver.h”
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
#包括
- 我尝试了一个文件一个文件地包含定义,并收集这些定义
在预编译头中
- 鉴于我的问题似乎与winsock2和windows有关
定义时,我尝试使用
适当定义(WIN32_LEAN_和_MEAN..)声明顺序
没用
- 我试着在一个独立的程序中运行winsock2,结果一切正常
我的问题似乎与此非常相似(尝试了所有未解决的建议/问题):
我已经打破了2个键盘,并认真考虑自己挂在我的鼠标左。请帮忙
提前感谢您抽出时间
托马斯
错误示例:
ws2ipdef.h
Erreur 171错误C2059:Erreur de syntax:“)”c:\program files
(x86)\microsoft SDK\windows\v7.0a\include\ws2ipdef.h 336 1 asioProto
Erreur 180错误C2059:Erreur de syntax:“)”c:\program files
(x86)\microsoft SDK\windows\v7.0a\include\ws2ipdef.h 354 1 asioProto
Erreur 189错误C2059:Erreur de syntax:“)”c:\program files
(x86)\microsoft SDK\windows\v7.0a\include\ws2ipdef.h 372 1 asioProto
Erreur 198错误C2059:Erreur de syntax:“)”c:\program files
(x86)\microsoft SDK\windows\v7.0a\include\ws2ipdef.h 390 1 asioProto
错误18错误C2079:“sockaddr_gen::Address”使用非结构化数据
“sockaddr”非défini c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\ws2ipdef.h 75 1 asioProto ERRREUR 19错误
C2079:“sockaddr_gen::AddressIn”使用“sockaddr_in”的统一结构
非défini c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\ws2ipdef.h 76 1 asioProto ERRREUR 177错误
C2086:“int BOOLEAN”:红色定义c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\ws2ipdef.h 354 1 asioProto ERRREUR 186错误
C2086:“int BOOLEAN”:红色定义c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\ws2ipdef.h 372 1 asioProto
in6addr.h
错误7错误C2143:语法错误:缺少“;”前卫的
'*'c:\ProgramFiles(x86)\microsoft
SDK\windows\v7.0a\include\in6addr.h 27 1 asioProto ERRREUR 1错误
C2146:语法错误:缺少“;”前卫
字节c:\ProgramFiles(x86)\microsoft
SDK\windows\v7.0a\include\in6addr.h 24 1 asioProto ERRREUR 4错误
C2146:语法错误:缺少“;”前卫
“Word”c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\in6addr.h 25 1 asioProto ERRREUR 2错误
C430:一种新型的智能机
德福。ReMARCK:C+NE损坏电荷
défaut c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\in6addr.h 24 1 asioProto ERRREUR 3错误
C430:一种新型的智能机
德福。ReMARCK:C+NE损坏电荷
défaut c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\in6addr.h 24 1 asioProto ERRUR 5错误
C430:一种新型的智能机
德福。ReMARCK:C+NE损坏电荷
défaut c:\program files(x86)\microsoft
SDK\windows\v7.0a\include\in6addr.h 25 1 asioProto
终于成功了。有点
问题在于用于编译的VS工具集(VS2010上默认为v100)。
当切换到v90或SDK 7.1时,编译ok
不知道为什么
项目属性>常规>平台工具集
火车站在哪里?此外,如果您的编译器错误消息位于。中,这将有助于下次正确地记录。谢谢