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" <dresnick@mobilespear.com> wrote in message news:DDE1CEBCDCEE614EA25D40FCE8EDD6BD0C48EE@msmail.mobilespear.com... > Hi, > > I'm trying to build boost version 1.28.0, msvc-stlport build, using the > following line: > > bjam -sTOOLS=msvc-stlport -sstlport-iostream=on -sSTLPORT_PATH=c:\etc -sstlport-iostream=on sets a Jam variable called "stlport-iostream" to "on". As a build feature, you need to set this up as a part of the BUILD variable: -sBUILD="<stlport-iostream>on" However, that doesn't appear to be related to the warnings you're reporting. > I have no problems building the msvc build. > > It seems to me that the problem has to do with the MS Platform SDK that > I have installed. Quite possibly. > When compiling STLPort (version 4.5.3) I had similar warnings. 2 work > arounds that I found there were either to remove the platform SDK from > the include enviroment variable, or (when I found it) to define > _STLP_NEW_PLATFORM_SDK in stl_user_config.h. > > I've tried variations of that with compiling Boost, but nothing makes a > difference. I've included the error messages that I get for most files. > > ---------------------------- CUT HERE ---------------------------- > vc-C++ > libs\regex\build\bin\libboost_regex.lib\msvc-stlport\debug\runtime-link- > dynamic\stlport-cstd-namespace-std\stlport-ios > tream-off\stlport-version-4.5.3\c_regex_traits.obj > c_regex_traits.cpp > C:\PROGRA~1\MICROS~3\VC98\include\winbase.h(1011) : error C2733: second > C linkage of overloaded function 'InterlockedIncremen > t' not allowed > C:\PROGRA~1\MICROS~3\VC98\include\winbase.h(1009) : see > declaration of 'InterlockedIncrement' > C:\PROGRA~1\MICROS~3\VC98\include\winbase.h(1018) : error C2733: second > C linkage of overloaded function 'InterlockedDecremen > t' not allowed > C:\PROGRA~1\MICROS~3\VC98\include\winbase.h(1016) : see > declaration of 'InterlockedDecrement' > C:\PROGRA~1\MICROS~3\VC98\include\winbase.h(1026) : error C2733: second > C linkage of overloaded function 'InterlockedExchange > ' not allowed > C:\PROGRA~1\MICROS~3\VC98\include\winbase.h(1023) : see > declaration of 'InterlockedExchange' > > > "cl" /Zm400 -nologo -GX -c -DBOOST_REGEX_NO_LIB=1 > -DBOOST_REGEX_STATIC_LINK=1 -D_STLP_NO_SGI_IOSTREAMS=1 -D_STLP_DO_IMP > ORT_CSTD_FUNCTIONS=1 -D_STLP_DEBUG=1 -D_STLP_DEBUG_UNINITIALIZED=1 > -D_STLP_NEW_PLATFORM_SDK=1 /Z7 /Od /Ob0 /GX /GR /MDd -I > "libs\regex\build" -I"C:\etc\boost_1_28_0" > -I"c:\etc\STLport-4.5.3\stlport" -I"C:\PROGRA~1\MICROS~3\VC98\include" > -Fo"libs > \regex\build\bin\libboost_regex.lib\msvc-stlport\debug\runtime-link-dyna > mic\stlport-cstd-namespace-std\stlport-iostream-off\s > tlport-version-4.5.3\c_regex_traits.obj" > -Tp"libs\regex\build\../src\c_regex_traits.cpp" > > ...failed vc-C++ > libs\regex\build\bin\libboost_regex.lib\msvc-stlport\debug\runtime-link- > dynamic\stlport-cstd-namespace-std\s > tlport-iostream-off\stlport-version-4.5.3\c_regex_traits.obj... > ---------------------------- CUT HERE ---------------------------- > > Thanks in advance, > > David Resnick > MobileSpear Inc. -- ----------------------------------------------------------- David Abrahams * Boost Consulting dave@boost-consulting.com * http://www.boost-consulting.com Yahoo! Groups Sponsor ADVERTISEMENT <http://rd.yahoo.com/M=233351.2287382.3722243.2225243/D=egroupweb/S=1705 006788:HM/A=1212975/R=0/*http://www.gotomypc.com/u/tr/yh/grp/300_mapG/g2 2lp?Target=mm/g22lp.tmpl> Info: <http://www.boost.org> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl> Unsubscribe: <mailto:boost-users-unsubscribe@yahoogroups.com> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service <http://docs.yahoo.com/info/terms/> . [Non-text portions of this message have been removed]

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" <dresnick@mobilespear.com> wrote in message news:DDE1CEBCDCEE614EA25D40FCE8EDD6BD0C48F6@msmail.mobilespear.com...
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