ccrtp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ccrtp-devel] Problems building ccRtp for win32


From: Federico Montesino Pouzols
Subject: Re: [Ccrtp-devel] Problems building ccRtp for win32
Date: Sat, 22 Mar 2003 15:16:12 +0100
User-agent: Mutt/1.5.3i

        Hi,...

On Wed, Mar 19, 2003 at 03:21:13PM +0100, Steindl Christian wrote:
> I tried to build ccrtp-1.0pre2 with VS C++ 6.0.
> 
> For that i got following packages:
> - commoncpp2-1.0.8
> - libxml-2.5.4
> - iconv-1.8
> 
> Unfortunately i had to do some tricks to get further:
> 1. there's no <cc++/pointer.h> file so i copied the file template/pointer.h
> of the commoncpp package to its cc++ directory.

        Um, you probably used the install.bat provided with cc++,
which forgets to copy the template headers. I have fixed this in the
cc++ CVS.

> 2. in file src/duplex.cpp(65) showed following error:
> {
> d:\ccrtp\ccrtp-1.0pre2\src\duplex.cpp(66) : error C2247: 'Error' not
> accessible because 'ost::UDPSocket' uses 'public' to inherit from
> 'ost::Socket'
>         d:\ccrtp\commoncpp2-1.0.7\include\cc++\socket.h(513) : see
> declaration of 'Error'
> d:\ccrtp\ccrtp-1.0pre2\src\duplex.cpp(66) : error C2247: 'Error' not
> accessible because 'ost::UDPSocket' uses 'public' to inherit from
> 'ost::Socket'
>         d:\ccrtp\commoncpp2-1.0.7\include\cc++\socket.h(513) : see
> declaration of 'Error'
> }
> so i modified src/sha.cpp(554) from private to public inheritance!

        Sorry, I do not understand what sha.cpp has to do with the
above error :-? Do you mean socket.cpp or any other file? We have had
troubles with the accessibility of Error in VC++, which usually stops
complaining after you add class qualifiers in order to resolve the
"ambiguity". The current code however compiles cleanly on VC++ 6, so
it may be an issue with some specific VC++ 6 flavors, in which case we
will have to look for a solution that makes all flavours happy.

> 3. project settings modified linking objects: replaced ccgnu2d.dll to
> ccgnu2d.lib.
> 

        It is fixed in CVS.

> Now there's still a linking problem:
> {
> Linking...
> ccgnu2d.lib(ccgnu2d.dll) : error LNK2005: "public: class ost::Thread &
> __thiscall ost::Thread::operator=(class ost::Thread const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj
> ccgnu2d.lib(ccgnu2d.dll) : error LNK2005: "public: __thiscall
> ost::Mutex::Mutex(class ost::Mutex const &)" 
> (address@hidden@@address@hidden@@Z)
> already defined in control.obj
> ccgnu2d.lib(ccgnu2d.dll) : error LNK2005: "public: __thiscall
> ost::Thread::Thread(class ost::Thread const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj
> ccgnu2d.lib(ccgnu2d.dll) : error LNK2005: "public: class ost::Mutex &
> __thiscall ost::Mutex::operator=(class ost::Mutex const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj
> ccgnu2d.lib(ccgnu2d.dll) : error LNK2005: "public: __thiscall
> ost::ThreadLock::ThreadLock(class ost::ThreadLock const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj
> ccgnu2d.lib(ccgnu2d.dll) : error LNK2005: "public: class ost::ThreadLock &
> __thiscall ost::ThreadLock::operator=(class ost::ThreadLock const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj
> ccgnu2d.lib(ccgnu2d.dll) : warning LNK4006: "public: class ost::Thread &
> __thiscall ost::Thread::operator=(class ost::Thread const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj; second
> definition ignored
> ccgnu2d.lib(ccgnu2d.dll) : warning LNK4006: "public: __thiscall
> ost::Mutex::Mutex(class ost::Mutex const &)" 
> (address@hidden@@address@hidden@@Z)
> already defined in control.obj; second definition ignored
> ccgnu2d.lib(ccgnu2d.dll) : warning LNK4006: "public: __thiscall
> ost::Thread::Thread(class ost::Thread const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj; second
> definition ignored
> ccgnu2d.lib(ccgnu2d.dll) : warning LNK4006: "public: class ost::Mutex &
> __thiscall ost::Mutex::operator=(class ost::Mutex const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj; second
> definition ignored
> ccgnu2d.lib(ccgnu2d.dll) : warning LNK4006: "public: __thiscall
> ost::ThreadLock::ThreadLock(class ost::ThreadLock const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj; second
> definition ignored
> ccgnu2d.lib(ccgnu2d.dll) : warning LNK4006: "public: class ost::ThreadLock &
> __thiscall ost::ThreadLock::operator=(class ost::ThreadLock const &)"
> (address@hidden@@address@hidden@@Z) already defined in control.obj;
> second definition ignored
>    Creating library Debug/ccrtp1.lib and object Debug/ccrtp1.exp
> Debug/ccrtp1.dll : fatal error LNK1169: one or more multiply defined symbols
> found
> Error executing link.exe.
> 
> ccrtp1.dll - 7 error(s), 10 warning(s)
> }
> How come that thread, mutex etc. things are definied in control.obj ?
> 

        I have no idea. I would try cleaning everything and compiling
again from scratch. That usually works with VC++ :).

> Thanks for any help building ccrtp on a win32-platform!
> Sincerely
> Christian
> 
> 
> _______________________________________________
> Ccrtp-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/ccrtp-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]