The implementation is already in a different namespace .
namespace abc
{
        namespace xyv
        {

             typedef std::set<int> int_set;

                class MY_DLL_EXPORT has_riskgroups : private int_set
        }
}

2009/12/18 Александр Мельников <a...@sibmail.ru>:
> If it really that, you may use namespace to get this symbol different name.
> I.e:
>
> namespace my_ns
> {
> class MY_DLL_EXPORT my_class : public std::set<int>
> {
> };
> }
>
> --------------------------------------------------
> From: "Anu KR" <anu.rajag...@gmail.com>
> Sent: Friday, December 18, 2009 4:23 PM
> To: "Protocol Buffers" <protobuf@googlegroups.com>
> Subject: Re: [protobuf] Re: Link errors with protobuf 2.2.0a
>
>> Thanks every body for the reply.
>>
>> I did checked the project settings for protocol buffer libraries and
>> our libraries, and they are the same. They were Multi-threaded Debug
>> DLL (/MDd) for debug version and and Multi-threaded DLL (/MD) for
>> release.
>>
>> However  we found that one of our classes were inheriting from
>> std::set<int> and the same class was being imported as well using
>> __declspec(dllimport) , So the compiler will generate the needed
>> symbols for the stl related stuff . I suspect what is happening is the
>> new version 2.2.0a of the protobuf is also doing similar thing and the
>> same stl symols get generated in libprotbuf  as well. Now we have 2
>> libraries importing the same stl related symols and that could be the
>> reason for LNK2005 - already defined.
>>
>> What we did as a work around is changed the class which was importing
>> the symbols to not inherit from std::set and the symbols are not
>> getting generated any more in our library and it links fine.  Am not
>> sure whether this is the best solution to do ?  We could do this since
>> one of the  library which was having the issue was our own and was in
>> our own control .
>>
>> What could be the possible solution if both of these libraries were 3pp. ?
>>
>> Thanks & Regards
>> Anu K R
>>
>>
>>
>> On Thu, Dec 17, 2009 at 11:18 PM, Oleg Smolsky <oleg.smol...@gmail.com>
>> wrote:
>>>
>>> On Dec 17, 12:27 pm, Kenton Varda <ken...@google.com> wrote:
>>>>
>>>> On Thu, Dec 17, 2009 at 2:47 AM, <a...@sibmail.ru> wrote:
>>>> > Hello,
>>>>
>>>> > You should use same runtime library setting to build your application
>>>> > > and
>>>> > protobuffer libraries.
>>>>
>>>> Specifically, debug vs. release, single-threaded vs. multi-threaded,
>>>> etc.
>>>>  Unfortunately, MSVC's STL implementation for each of these library
>>>> implementations is different.
>>>
>>> VS2008 does not have a single-threaded CRT any more, but configuring
>>> debug/release and static/dynamic linking in a consistent way is vital.
>>>
>>> Oleg.
>>>
>>> --
>>>
>>> You received this message because you are subscribed to the Google Groups
>>> "Protocol Buffers" group.
>>> To post to this group, send email to proto...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> protobuf+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/protobuf?hl=en.
>>>
>>>
>>>
>>
>> --
>>
>> You received this message because you are subscribed to the Google Groups
>> "Protocol Buffers" group.
>> To post to this group, send email to proto...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> protobuf+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/protobuf?hl=en.
>>
>>
>

--

You received this message because you are subscribed to the Google Groups 
"Protocol Buffers" group.
To post to this group, send email to proto...@googlegroups.com.
To unsubscribe from this group, send email to 
protobuf+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/protobuf?hl=en.


Reply via email to