我试图在我的项目中使用boost asio。 我下载了boost 1.62,用命令构建它:
b2 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64
b2 toolset=msvc-14.0 address-model=32 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/win32
我已在Additional Include Directories
中添加了我的提升,添加了Additional Library Directories
,并添加了
Ws2_32.lib
Mswsock.lib
libboost_system-vc140-mt-gd-1_62.lib
libboost_regex-vc140-mt-gd-1_62.lib
到我的附加依赖项列表。 但我的程序包含boost \ asio.hpp,但不想编译。
这是我得到的第一个错误:
1> boost_1_62_0 \ boost \ asio \ detail \ impl \ socket_ops.ipp(197):错误C3861:'GetAcceptExSockaddrs':找不到标识符 1> boost_1_62_0 \ boost \ asio \ detail \ impl \ socket_ops.ipp(217):错误C2065:'SO_UPDATE_ACCEPT_CONTEXT':未声明的标识符 1> boost_1_62_0 \ boost \ asio \ detail \ impl \ socket_ops.ipp(1644):错误C2065:'SO_CONNECT_TIME':未声明的标识符
我不知道我错过了什么,我重新加载并重建了几次提升......
答案 0 :(得分:1)
好吧,我发现boost asio头文件和我的项目中的其他库(live555库)之间存在一些冲突。
所以,我通过创建预编译头文件(stdafx.h
)来摆脱它们,其中首先放置了升级头文件,然后再放置其他文件。