From: Steve Dussinger (sdussing_at_[hidden])
Date: 2004-04-09 15:33:51


On 4/9/04 8:41 AM, "David Abrahams" <dave_at_[hidden]> wrote:

> Steve Dussinger <sdussing_at_[hidden]> writes:
>
>> HELP!!!!
>>
>> I'm trying to compile an application which contains boost threads and I
>> can't seem to get it to work. Whenever I try to compile, I get the following
>> two types of messages from the compiler:
>>
>> warning C4275: non dll-interface class 'std::logic_error' used as base for
>> dll-interface class 'boost::lock_error'
>>
>> or
>>
>> warning C4251: 'boost::thread_group::m_threads' : class 'std::list<_Ty>'
>> needs to have dll-interface to be used by clients of class
>> 'boost::thread_group'
>>
>> Obviously, these have something to do with the mixing of DLL and non-DLL
>> classes, but since Windows is not my preferred OS I have no clue about what
>> to do to get this to compile. I used boost (v 1.28) on a prior project
>> (using VC6) with no problems, but I'm just stumped here....
>>
>> Can anyone give me a clue?
>
> These are warnings, and these particular warnings are often
> harmless. What do you mean by "can't seem to get it to work"? Is
> something else failing?

True, but I *hate* warnings :-)...

Seriously, I was under the impression that these would potentially cause
problems when trying to instantiate/destroy an instance of one of these
classes. I've had a fair amount of bad luck with MS DLL-hell problems, and
I'm a bit leery of any type of warnings I get regarding them.

I haven't actually tried to run the code, yet so I don't know if it'll fail
or not, but if there is some workaround to get rid of the warnings (short of
pragma'ing them off), I'd appreciate it...

Thanx,
   Steve