提升asio链接错误

时间:2016-12-22 09:07:46

标签: boost

我试图在我的项目中使用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':未声明的标识符

我不知道我错过了什么,我重新加载并重建了几次提升......

1 个答案:

答案 0 :(得分:1)

好吧,我发现boost asio头文件和我的项目中的其他库(live555库)之间存在一些冲突。 所以,我通过创建预编译头文件(stdafx.h)来摆脱它们,其中首先放置了升级头文件,然后再放置其他文件。