From: Dean M. C. B. <dmb...@fr...> - 2008-08-08 18:19:38
|
Hi Divye, > -----Original Message----- > From: cpp...@li... > [mailto:cpp...@li...] On > Behalf Of Divye Kapoor > Sent: Saturday, August 09, 2008 12:21 AM > To: C++ Networking Library Developers Mailing List > Subject: [cpp-netlib-devel] New http::client code errors > > Hi Dean, > I just tried out your new code on Vista/MSVC8 and it seems > that there is an issue of a missing type-declaration of the > headers_container in the message/wrappers/headers.hpp This > doesn't seem to be an error due to asio. I couldn't figure > out the include dependency order causing this. Could you have a look? > Are you using precompiled headers? I haven't tested with MSVC8 yet, I'll give it a whirl through MSVC 2008 Express Edition (MSVC9 I think) soon. Thanks for the report. > Also, what has to be done to remove the asio errors? I think there's a macro that needs to be defined to tell Asio to not include the windows headers. I forget exactly what that macro is, but it should be documented in Asio. > > The error messages that I am currently receiving are: > .\boost/network/message/wrappers/headers.hpp(29) : error > C2510: 'type' : left of '::' must be a class/struct/union > .\boost/network/message/wrappers/headers.hpp(51) : > see reference to clas s template instantiation > 'boost::network::impl::headers_wrapper<Tag>' being comp iled > .\boost/network/message/wrappers/headers.hpp(29) : error > C2146: syntax error : m issing ';' before identifier 'const_iterator' > .\boost/network/message/wrappers/headers.hpp(29) : error > C4430: missing type spe cifier - int assumed. Note: C++ does > not support default-int > .\boost/network/message/wrappers/headers.hpp(29) : error > C2868: 'boost::network: > :impl::headers_wrapper<Tag>::const_iterator' : illegal syntax > for using-declarat ion; expected qualified-name > .\boost/network/message/wrappers/headers.hpp(66) : error > C2510: 'type' : left of '::' must be a class/struct/union > .\boost/network/message/wrappers/headers.hpp(70) : > see reference to clas s template instantiation > 'boost::network::headers_range<Message>' being compiled > > .\boost/network/message/wrappers/headers.hpp(66) : error > C2146: syntax error : m issing ',' before identifier 'const_iterator' > .\boost/network/message/wrappers/headers.hpp(66) : error > C2065: 'const_iterator' > : undeclared identifier > .\boost/network/message/wrappers/headers.hpp(67) : error > C2510: 'type' : left of '::' must be a class/struct/union > .\boost/network/message/wrappers/headers.hpp(68) : error > C2146: syntax error : m issing ',' before identifier 'const_iterator' > D:\Documents_Vista\src\boost_1_35_0\boost/asio/detail/socket_t > ypes.hpp(27) : fat al error C1189: #error : WinSock.h has > already been included > Hmmm... I had encountered this problem with GCC, but it seemed to get fixed along with the changes I made. Although I haven't tried including just <boost/network/protocol/http.hpp>, I'll see what I can do there. I'll try to reproduce. > call "C:\Program Files\Microsoft Visual Studio > 8\VC\vcvarsall.bat" x86 >nul cl /Zm800 -nologo > @"libs\network\test\bin\msvc-8.0\debug\link-static\threading-m > ulti\localhost_tests.obj.rsp" > > ...failed compile-c-c++ > libs\network\test\bin\msvc-8.0\debug\link-static\threadi > ng-multi\localhost_tests.obj... > ...skipped > <plibs\network\test\bin\msvc-8.0\debug\link-static\threading-multi>lo > calhost_tests.exe for lack of > <plibs\network\test\bin\msvc-8.0\debug\link-static > \threading-multi>localhost_tests.obj... > ...skipped > <plibs\network\test\bin\msvc-8.0\debug\link-static\threading-multi>lo > calhost_tests.passed for lack of > <plibs\network\test\bin\msvc-8.0\debug\link-sta > tic\threading-multi>localhost_tests.exe... > compile-c-c++ > libs\network\test\bin\msvc-8.0\debug\link-static\threading > compile-c-c++ -multi\m > essage_test.obj > message_test.cpp > .\boost/network/message/wrappers/headers.hpp(29) : error > C2510: 'type' : left of '::' must be a class/struct/union > .\boost/network/message/wrappers/headers.hpp(51) : > see reference to clas s template instantiation > 'boost::network::impl::headers_wrapper<Tag>' being comp iled > .\boost/network/message/wrappers/headers.hpp(29) : error > C2146: syntax error : m issing ';' before identifier 'const_iterator' > .\boost/network/message/wrappers/headers.hpp(29) : error > C4430: missing type spe cifier - int assumed. Note: C++ does > not support default-int > .\boost/network/message/wrappers/headers.hpp(29) : error > C2868: 'boost::network: > :impl::headers_wrapper<Tag>::const_iterator' : illegal syntax > for using-declarat ion; expected qualified-name > .\boost/network/message/wrappers/headers.hpp(66) : error > C2510: 'type' : left of '::' must be a class/struct/union > .\boost/network/message/wrappers/headers.hpp(70) : > see reference to clas s template instantiation > 'boost::network::headers_range<Message>' being compiled > That's odd... It fails when compiling message_test.cpp too. Thanks for the report, I'll try to reproduce. -- Dean Michael Berris Software Engineer, Friendster, Inc. |