2016-12-22 17 views
0

Ich versuche Boost Asio in meinem Projekt zu verwenden. ich heruntergeladen 1.62 steigern, bauen sie mit Befehlen:Boost Asio Link Fehler

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

ich meine Boost gefaltet aufgenommen haben in Additional Include Directories aufgenommen Additional Library Directories und fügte

Ws2_32.lib 
Mswsock.lib 
libboost_system-vc140-mt-gd-1_62.lib 
libboost_regex-vc140-mt-gd-1_62.lib 

meiner zusätzliche Abhängigkeiten Liste. Aber mein Programm mit boost \ asio.hpp include will nicht kompilieren.

Dies sind die ersten Fehler, die ich erhalten:

1> boost_1_62_0 \ steigern \ Asio \ Detail \ impl \ socket_ops.ipp (197): Fehler C3861: 'GetAcceptExSockaddrs': Bezeichner nicht 1> boost_1_62_0 gefunden \ boost \ asio \ detail \ impl \ socket_ops.ipp (217): Fehler C2065: 'SO_UPDATE_ACCEPT_CONTEXT': nicht deklarierter Bezeichner 1> boost_1_62_0 \ boost \ asio \ detail \ impl \ socket_ops.ipp (1644): Fehler C2065: 'SO_CONNECT_TIME' : nicht deklarierter Bezeichner

ich habe keine Ahnung, was ich verpasst, ich redownloaded und rebuilded mehrmals steigern ...

Antwort

0

Nun, ich habe herausgefunden, dass es einige Konflikte zwischen der Boost-Asio-Header-Datei und anderen Bibliotheken in meinem Projekt (live555-Bibliothek) gab. Also, ich habe sie los, indem Sie vorkompilierte Header-Datei (stdafx.h) erstellen, wo Boost-Header-Dateien zuerst, vor allem anderen platziert wurden.