QL and STLport under Win32

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

QL and STLport under Win32

David Sowinski

All,

 

 

 

I have a requirement to utilize STLport in my projects. I am fairly confident that I have BOOST (v1.34.1) and STLport (v5.1.5) correctly working with each other. Now I need to get QL (v0.9.0) correctly working with BOOST and STLport – which is not going so well. I have tried a host of different configurations (building STLport with/without iostreams, building STLport with/without BOOST support, hacking BOOST jam files, etc…). Anyway, nearly every configuration results in errors of the form:

 

error C2679: binary '<<' : no operator found which takes a right-hand operand of type 'stlp_std::string' (or there is no acceptable conversion)

 

One example of this error can be viewed in daycounter.hpp on line 142:

 

inline std::ostream& operator<<(std::ostream& out, const DayCounter &d)

{

    return out << d.name();  ß This is the bad line!

}

 

I have built several applications with similar code and do not have any issues. As such, I am thinking that there is something that I need to do in the QL configuration to so that STLport can be used – which I cannot find any information on.

 

My build system is as follows:

·         Microsoft Visual Studio 2005 (v8.0.50727 SP.050727-7600)

·         BOOST (v 1.34.1)

·         STLport (v 5.1.5)

·         Microsoft Windows XP Professional (v2002 SP-2)

·         Pentium D CPUs @ 3.4GHz and 2GB of RAM

 

Any help would be greatly appreciated. If additional information is required, please let me know.

 

 

 

Regards,

 

David



The information in this email or in any file attached hereto is intended only for the personal and confidential use of the individual or entity to which it is addressed and may contain information that is proprietary and confidential. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. This communication is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product. Email transmission cannot be guaranteed to be secure or error-free. P6070214
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: QL and STLport under Win32

Luigi Ballabio
On Fri, 2008-04-25 at 11:30 -0500, David Sowinski wrote:

> I have a requirement to utilize STLport in my projects. [...] nearly
> every configuration results in errors of the form:
>
> error C2679: binary '<<' : no operator found which takes a right-hand
> operand of type 'stlp_std::string' (or there is no acceptable
> conversion)
>
> One example of this error can be viewed in daycounter.hpp on line 142:
>
> inline std::ostream& operator<<(std::ostream& out, const DayCounter
> &d) {
>     return out << d.name();  ß This is the bad line!
> }

Strange... I'm not familiar with STLport, but it looks as though your
compiler is reading <string> from STLport (hence the stlp_std::string)
but <ostream> from your compiler's STL (which doesn't know about the
STLport types.)  Or maybe it's parsing <ostream> before reading
<string>, and therefore doesn't know that std::string has been
associated in some way (#define? typedef?) to stlp_std::string.

My suggestion is to preprocess the source file being compiled (I don't
remember how to do it in Visual Studio---you might have to do it from
the command line) and see what string definition is in scope when
operator<< is defined. Let me know if you find out anything.

Later,
        Luigi


--

Present to inform, not to impress; if you inform, you will impress.
-- Fred Brooks



-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users