|
Boost Users : |
From: Andrej van der Zee (mavdzee_at_[hidden])
Date: 2008-07-28 22:44:32
Yes okay, but how do you then export these methods from the base class if they appear in an external library (boost::exception in this case), without changing the external library?
Cheers,
Andrej
----- Original Message ----
From: gast128 <gast128_at_[hidden]>
To: boost-users_at_[hidden]
Sent: Tuesday, 29 July, 2008 6:09:37 AM
Subject: Re: [Boost-users] dll-interface problems
Andrej van der Zee <mavdzee <at> yahoo.co.uk> writes:
> #include <boost/exception/exception.hpp>
>
> namespace speedo {
>
> typedef boost::error_info<struct tag_error, unsigned> error_info;
>
> class __declspec(dllexport) exception : public boost::exception
> {
> };
>
> }
>
> When I try to compile this, I get the following warning:
>
> c:\cygwin\home\andrej\speedo\trunk\util\exception.h(14) : warning C4275: non
dll-interface class
> 'boost::exception' used as base for dll-interface class 'speedo::exception'
> C:\cygwin\home\Andrej\speedo\trunk\boost/exception/exception.hpp
(47) : see declaration of 'boost::exception'
> c:\cygwin\home\andrej\speedo\trunk\util\exception.h(13) : see
declaration of 'speedo::exception'
>
> Is this a problem, and, how do I get rid of this without changing the boost-
exception lib itself?
The exported attribute indicates that all functions from the class are
exported. The warning is that you can potentially call a non exported function
from the base class, e.g.:
struct public Base
{
void Foo1(); //impl. in cpp
};
struct __declspec(dllexport) Derived : public Base
{
void Foo2(); //impl. in cpp
};
void Foo()
{
Derived d;
d.Foo1(); //error, but at least a linker error
d.Foo2();
}
wkr,
me
_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users
__________________________________________________________
Not happy with your email address?.
Get the one you really want - millions of new email addresses available now at Yahoo! http://uk.docs.yahoo.com/ymail/new.html
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net