RE: [Boost-Users] Re: msvc-stlport build problems
I've fixed the problem, here's my solution in case anyone else needs it:
The problem didn't have to do with the Platform SDK in the end.
The configuration that I'm using is MSVC6 SP3 on Windows 2000.
The fix was to add :
flags msvc-stlport DEFINES : _NTOS_=1 ;
to the "special flags for STLport 4.0" block in
tools\build\msvc-stlport-tools.jam (line 117, for example).
I have a question for jam experts: How can I set this define (_NTOS_=1)
from the command line?
Regards,
David Resnick
MobileSpear Inc.
-----Original Message-----
From: David Abrahams [mailto:yg-boost-users@m.gmane.org]
Sent: Friday, August 30, 2002 19:38
To: boost-users@yahoogroups.com
Subject: [Boost-Users] Re: msvc-stlport build problems
"David Resnick"
Hi, I am trying to use boost::regex within a DOM_NodeFilter to help in determining which nodes I wish to process. Unfortunately I cannot get the code to compile. I get messages of the form: D:\Program Files\Microsoft Visual Studio\VC98\include\utility(81) : error C2146: syntax error : missing ';' before identifier 'iterator_category' D:\Program Files\Microsoft Visual Studio\VC98\include\utility(84) : see reference to class template instantiation 'std::iterator_traits<_It>' being compiled D:\Program Files\Microsoft Visual Studio\VC98\include\utility(81) : error C2838: illegal qualified name in member declaration D:\Program Files\Microsoft Visual Studio\VC98\include\utility(84) : see reference to class template instantiation 'std::iterator_traits<_It>' being compiled D:\Program Files\Microsoft Visual Studio\VC98\include\utility(81) : error C2501: 'iterator_category' : missing storage-class or type specifiers D:\Program Files\Microsoft Visual Studio\VC98\include\utility(84) : see reference to class template instantiation 'std::iterator_traits<_It>' being compiled These errors appear only when I include the boost::regex.hpp I am using MSVC6sp5, boost-1_28_0, xerces 1_7_0 (the windows precompiled version). Searching through the archives it would seem that they should work. Has anyone any ideas ? Regards Hugo
I am trying to use boost::regex within a DOM_NodeFilter to help in determining which nodes I wish to process. Unfortunately I cannot get the code to compile. I get messages of the form:
That looks like a config problem, please check: That you haven't modified the boost config in any way (including inadvertently). That you don't have any residue from a previous boost version in your include path. That you can build the boost config test program OK (libs/config/test/config_test.cpp) Finally the problem may occur if you are using something other than const char*, or const wchar_t* as iterator arguments to the regex algorithms (this is a VC specific problem BTW, basically iterator_traits is broken when used with pointers). John Maddock http://ourworld.compuserve.com/homepages/john_maddock/index.htm
Hi, I found out the problem. I was using compile options I got from a xerces example. Changing them got rid of the problem. Thanks Hugo
"David Resnick"
I've fixed the problem, here's my solution in case anyone else needs it:
The problem didn't have to do with the Platform SDK in the end.
The configuration that I'm using is MSVC6 SP3 on Windows 2000.
The fix was to add :
flags msvc-stlport DEFINES : _NTOS_=1 ;
to the "special flags for STLport 4.0" block in tools\build\msvc-stlport-tools.jam (line 117, for example).
Is that #define needed by STLPort, or is specific to the code you're trying to compile? If it's the former, we should patch the toolset. Please respond to jamboost@yahoogroups.com
I have a question for jam experts: How can I set this define (_NTOS_=1) from the command line?
bjam -sBUILD="<stlport-iostream>on <define>_NTOS_=1" ... ----------------------------------------------------------- David Abrahams * Boost Consulting dave@boost-consulting.com * http://www.boost-consulting.com
participants (4)
-
David Abrahams
-
David Resnick
-
Hugo Korwaser
-
John Maddock