[omniORB] how to rebuild echo with static omniORB libraries?

Sai-Lai Lo S.Lo@uk.research.att.com
25 May 2001 15:21:04 +0100


--=-=-=

The example code and its stub should also be compiled with -D_WINSTATIC, (as
documented in README.win32).  Otherwise, dllimport attribute will be
attached to various runtime symbols.

Sai-Lai


> Thank you, that helped a lot.
>
> It seems however that this is not the only required modification. When
> applied to win32.mk, Visual C++ complains:
>
> +
>
../../../bin/x86_win32/linkwrapper -gnuwin32 -out:eg3_tieimpl.exe -libpath:.
> ./../../lib/x86_win32 eg3_tieimpl.o ../../..
> /stub/echoSK.o omniORB3.lib
> msvcstub.lib -NODEFAULTLIB:libcmt.lib -NODEFAULTLIB:libcmtd.lib
> omnithread.lib wsock32.lib adv
> api32.lib
> link -out:eg3_tieimpl.exe -libpath:..\..\..\lib\x86_win32 eg3_tieimpl.o
> ..\..\..\stub\echoSK.o omniORB3.lib msvcstub.lib -
> NODEFAULTLIB:libcmt.lib -NODEFAULTLIB:libcmtd.lib omnithread.lib
wsock32.lib
> advapi32.lib
> Microsoft (R) Incremental Linker Version 6.00.8447
> Copyright (C) Microsoft Corp 1992-1998. All rights reserved.
>
> LINK : warning LNK4049: locally defined symbol ""public: __thiscall
> omni_thread::init_t::init_t(void)" (??0init_t@omni_thread@@QAE@XZ)"
imported
> LINK : warning LNK4049: locally defined symbol ""public: static char const
*
> const  omni::empty_string" (?empty_string@omni@@2QBDB)" imported
> LINK : warning LNK4049: locally defined symbol ""public: static unsigned
> long const  CORBA::Object::_PR_magic" (?_PR_magic@Object@CORBA@@2KB)"
> imported
> LINK : warning LNK4049: locally defined symbol ""char const * const
> omniORB_3_0" (?omniORB_3_0@@3PBDB)" imported
> LINK : warning LNK4049: locally defined symbol ""public: void __thiscall
> omni_mutex::unlock(void)" (?unlock@omni_mutex@@QAEXXZ)" imported
> LINK : warning LNK4049: locally defined symbol ""public: void __thiscall
> omni_mutex::lock(void)" (?lock@omni_mutex@@QAEXXZ)" imported
> LINK : warning LNK4049: locally defined symbol ""public: static char const
*
> const  CORBA::Object::_PD_repoId" (?_PD_repoId@Object@CORBA@@2PBDB)"
> imported
> LINK : warning LNK4049: locally defined symbol ""int  omniORB::traceLevel"
> (?traceLevel@omniORB@@3HA)" imported
>
> for every target in the echo folder and builds the executables. This is a
> minor problem for Visual C++, but CodeWarrior 6.1 displays similar error
> messages and builds nothing. What should be changed in addition to
win32.mk
> to fix this problem for Visual C++?

---
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND


--=-=-=


-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND


--=-=-=--