RE: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0?

I think you might be getting bit by the way wchar_t == unsigned short on
MSVC, and when Intel uses MSVC compatibility. If you look, its using a
basic_stringstream
-----Original Message----- From: adutoit [mailto:adutoit@stonethree.com] Sent: Wednesday, May 21, 2003 7:41 AM To: Boost-Users@yahoogroups.com Subject: Re: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0?
I know I said I will not return soon, but I finally realised that stupid Visual C++ is to blame for my original compilation error, not anyone from Boost or the Intel compiler writer team.
For some reason, the order in which you specify include paths (for crying out loud!) matters in Visual C++!!!
That means I must specify STLPort include path first, then stupid VC98 include path. Now I am down to one compilation error, using my much-reported compilation setup :
Compiling... graph_qt.cpp C:\PROGRAM FILES\BOOST_1_30_0\boost/lexical_cast.hpp(147): error: no operator "<<" matches these operands operand types are: _STL::basic_stringstream
, _STL::allocator > << const _STL::basic_string return stream << input; ^ detected during: instantiation of "bool={bool} boost::detail::lexical_stream ::operator<<(const Source &) [with Target=unsigned short, Source=_STL::basic_string ]" at line 192 instantiation of "Target boost::lexical_cast (Source) [with Target=unsigned short, Source=_STL::basic_string ]" at line 30 of "C:\PROGRAM FILES\BOOST_1_30_0\boost/date_ti me/time_parsing.hpp" instantiation of "time_duration boost::date_time::parse_delimited_time_duration (const _STL::string &) [with time_duration=boost::posix_time::time_duration]" compilation aborted for C:\home\adutoit\work\s3_qt\s3_qt\graph_qt.cpp (code 2) Error executing cl.exe. libs3_qt.lib - 1 error(s), 0 warning(s)
Any ideas? (Except for checking my include path specs again :) )
Greetings, Andre ----- Original Message ----- From: "adutoit"
To: Sent: Wednesday, May 21, 2003 4:16 PM Subject: Re: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0? Right; here are my compiler options, build configuration and the rest.
Basically I am building a static library, which depends on some in-house software components, Qt and Boost. Our own library S3FC (), uses templates in such a manner as to make MSVC6 very unhappy. Therefore we use the Intel compiler under M$. Needless to say, our software compiles problemfree with GCC. For the aforementioned and other reasons we do not make use of Microsoft Foundation Classes when compiling under Windoze, but use the latest version of STLPort (which has been at the same version level for some time now).
Anyway; our Windows development work takes place under Visual C++ but with the Intel compiler (version 7.0) selected instead of the MSVC6 compiler.
OK; with this background then, here is the basic Visual C++ project settings for my build of the above-mentioned library. I have removed include paths etc. which point to in-house software:
1) "Not Using MFCC" selected for general project settings (as explained above). 2) Warning level => 3 Optimizations => Maximise Speed Debug info => None 3) Project Options => /nologo /ML /W3 /GR /GX /O2 /D "NDEBUG" /D "DEP_MS_WIN" /D "WIN32" /D "_WINDOWS" /U "QT_NO_STL" /Fp"Release/libs3_qt.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
The include and library paths for STLPort is set somewhere else, but these are basically the options.
If anyone knows of any special project options, preprocessor directives I am perhaps missing for building Boost-related projects with the Intel compiler, please let me know! I suspect that we will soon be using Boost for other functionality besides that provided by date_time at the moment. Besides, I like the library and works in our main development environment, Linux with the GCC compiler.
OK, I am forgetting about this problem for a day or two... Thanks to everyone who has provided me with help so far, especially Jeff Garland.
Greetings, Andre.
----- Original Message ----- From: "Jeff Garland"
To: Sent: Wednesday, May 21, 2003 3:42 PM Subject: RE: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0? Anyway; it just irks me that I should have issues with
like streaming operators. And the fact that the same code compiles with MSVC6 and NOT the Intel compiler.
Ok.
Back on the #define which started my woes. The fact of
'standard' stuff, the matter is, I get
everything compiled when using MSVC6 and not the Intel compiler! I.e. the MSVC6-specific code works, the 'other' compiler code for the supposedly more Boost-compliant/friendly Intel compiler does not.
I guess I was thinking that what was happening is that when compiling with Intel you were getting the MSVC defined and hence were taking the non-generic code. Perhaps not...
Have you tried to run the tests in libs/date_time/test with your Intel/STLPort configuration? That might help diagnose the issue. Also, it might be instructive to post your compile command. Perhaps someone with experience on Intel can figure out why your configuration differs from the one that apparently passes the tests.
Could it be because I am using STLPort in conjunction with the Intel compiler?
Might be a factor. There have been some issues before with the library configuration assuming MSVC limitations which don't apply with STLPort in the mix.
Aargh. Just give me Linux and GCC...
Agreed :-)
Jeff
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 http://docs.yahoo.com/info/terms/
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 http://docs.yahoo.com/info/terms/
------------------------ Yahoo! Groups Sponsor ---------------------~--> Get A Free Psychic Reading! Your Online Answer To Life's Important Questions. http://us.click.yahoo.com/Lj3uPC/Me7FAA/uetFAA/EbFolB/TM -------------------------------------------------------------- -------~->
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 http://docs.yahoo.com/info/terms/
----------------------------------------------------------------------- DISCLAIMER: Information contained in this message and/or attachment(s) may contain confidential information of Zetec, Inc. If you have received this transmission in error, please notify the sender by return email. -----------------------------------------------------------------------

Great!
The /Zc:wchar_t project option did the trick. I will still check my STLPort
/ VC98 interaction as specified in one of your previous emails.
Thanks a lot for the helpfull advice.
Greetings,
Andre.
----- Original Message -----
From: "Tom Matelich"
I think you might be getting bit by the way wchar_t == unsigned short on MSVC, and when Intel uses MSVC compatibility. If you look, its using a basic_stringstream
You could try /Zc:wchar_t to make wchar_t an intrinsic type.
-----Original Message----- From: adutoit [mailto:adutoit@stonethree.com] Sent: Wednesday, May 21, 2003 7:41 AM To: Boost-Users@yahoogroups.com Subject: Re: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0?
I know I said I will not return soon, but I finally realised that stupid Visual C++ is to blame for my original compilation error, not anyone from Boost or the Intel compiler writer team.
For some reason, the order in which you specify include paths (for crying out loud!) matters in Visual C++!!!
That means I must specify STLPort include path first, then stupid VC98 include path. Now I am down to one compilation error, using my much-reported compilation setup :
Compiling... graph_qt.cpp C:\PROGRAM FILES\BOOST_1_30_0\boost/lexical_cast.hpp(147): error: no operator "<<" matches these operands operand types are: _STL::basic_stringstream
, _STL::allocator > << const _STL::basic_string return stream << input; ^ detected during: instantiation of "bool={bool} boost::detail::lexical_stream ::operator<<(const Source &) [with Target=unsigned short, Source=_STL::basic_string ]" at line 192 instantiation of "Target boost::lexical_cast (Source) [with Target=unsigned short, Source=_STL::basic_string ]" at line 30 of "C:\PROGRAM FILES\BOOST_1_30_0\boost/date_ti me/time_parsing.hpp" instantiation of "time_duration boost::date_time::parse_delimited_time_duration (const _STL::string &) [with time_duration=boost::posix_time::time_duration]" compilation aborted for C:\home\adutoit\work\s3_qt\s3_qt\graph_qt.cpp (code 2) Error executing cl.exe. libs3_qt.lib - 1 error(s), 0 warning(s)
Any ideas? (Except for checking my include path specs again :) )
Greetings, Andre ----- Original Message ----- From: "adutoit"
To: Sent: Wednesday, May 21, 2003 4:16 PM Subject: Re: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0? Right; here are my compiler options, build configuration and the rest.
Basically I am building a static library, which depends on some in-house software components, Qt and Boost. Our own library S3FC (), uses templates in such a manner as to make MSVC6 very unhappy. Therefore we use the Intel compiler under M$. Needless to say, our software compiles problemfree with GCC. For the aforementioned and other reasons we do not make use of Microsoft Foundation Classes when compiling under Windoze, but use the latest version of STLPort (which has been at the same version level for some time now).
Anyway; our Windows development work takes place under Visual C++ but with the Intel compiler (version 7.0) selected instead of the MSVC6 compiler.
OK; with this background then, here is the basic Visual C++ project settings for my build of the above-mentioned library. I have removed include paths etc. which point to in-house software:
1) "Not Using MFCC" selected for general project settings (as explained above). 2) Warning level => 3 Optimizations => Maximise Speed Debug info => None 3) Project Options => /nologo /ML /W3 /GR /GX /O2 /D "NDEBUG" /D "DEP_MS_WIN" /D "WIN32" /D "_WINDOWS" /U "QT_NO_STL" /Fp"Release/libs3_qt.pch" /YX /Fo"Release/" /Fd"Release/" /FD /c
The include and library paths for STLPort is set somewhere else, but these are basically the options.
If anyone knows of any special project options, preprocessor directives I am perhaps missing for building Boost-related projects with the Intel compiler, please let me know! I suspect that we will soon be using Boost for other functionality besides that provided by date_time at the moment. Besides, I like the library and works in our main development environment, Linux with the GCC compiler.
OK, I am forgetting about this problem for a day or two... Thanks to everyone who has provided me with help so far, especially Jeff Garland.
Greetings, Andre.
----- Original Message ----- From: "Jeff Garland"
To: Sent: Wednesday, May 21, 2003 3:42 PM Subject: RE: [Boost-Users] boost::date_time::posix_time and Intel Compiler 7.0? Anyway; it just irks me that I should have issues with
like streaming operators. And the fact that the same code compiles with MSVC6 and NOT the Intel compiler.
Ok.
Back on the #define which started my woes. The fact of
'standard' stuff, the matter is, I get
everything compiled when using MSVC6 and not the Intel compiler! I.e. the MSVC6-specific code works, the 'other' compiler code for the supposedly more Boost-compliant/friendly Intel compiler does not.
I guess I was thinking that what was happening is that when compiling with Intel you were getting the MSVC defined and hence were taking the non-generic code. Perhaps not...
Have you tried to run the tests in libs/date_time/test with your Intel/STLPort configuration? That might help diagnose the issue. Also, it might be instructive to post your compile command. Perhaps someone with experience on Intel can figure out why your configuration differs from the one that apparently passes the tests.
Could it be because I am using STLPort in conjunction with the Intel compiler?
Might be a factor. There have been some issues before with the library configuration assuming MSVC limitations which don't apply with STLPort in the mix.
Aargh. Just give me Linux and GCC...
Agreed :-)
Jeff
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 http://docs.yahoo.com/info/terms/
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 http://docs.yahoo.com/info/terms/
------------------------ Yahoo! Groups Sponsor ---------------------~--> Get A Free Psychic Reading! Your Online Answer To Life's Important Questions. http://us.click.yahoo.com/Lj3uPC/Me7FAA/uetFAA/EbFolB/TM -------------------------------------------------------------- -------~->
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 http://docs.yahoo.com/info/terms/
----------------------------------------------------------------------- DISCLAIMER: Information contained in this message and/or attachment(s) may contain confidential information of Zetec, Inc. If you have received this transmission in error, please notify the sender by return email. -----------------------------------------------------------------------
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 http://docs.yahoo.com/info/terms/
participants (2)
-
adutoit
-
Tom Matelich