[Top][All Lists]
[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