test
omniorb@orl.co.uk
omniorb@orl.co.uk
Thu, 29 May 1997 11:18:40 +0100
The following is a patch for the 2.2.0 distribution.
*** This patch only affects users of the Win32 distribution ***
Note that binaries with the patches installed are available from
http://www.orl.co.uk/omniORB/bugs/4.html .
Platforms: Win32 (Windows NT, Windows '95)
Description:
Link errors involving MemBufferedStream may show up when linking to either the
static or dynamic (DLL) libraries:
error LNK2001: unresolved external symbol "private: void __thiscall
MemBufferedStream::grow(unsigned int)"(?grow@MemBufferedStream@@AAEXI@Z)
error LNK2001: unresolved external symbol "private: void *__thiscall
MemBufferedStream::overrun_error(void)"(?overrun_error@MemBufferedStream@@AAEPAXXZ)
Workaround: (PATCH #3)
Two files need to be patched. You can download copies of the (patched) files
from:
ftp://ftp.orl.co.uk/pub/omniORB/patch3/MAKEFILE
ftp://ftp.orl.co.uk/pub/omniORB/patch3/omniORB2.def
Put MAKEFILE in the directory build_win32 .
Put omniORB2.def in the directory src\lib\omniORB2 .
Re-compile both the static and dynamic libraries. Copy the new DLL to
a directory that is searched by the system's loader. Finally, link your
code to the new (static or import) library.
Alternatively, you can apply the patch yourself:
Add the following lines to <TOP-LEVEL-DIRECTORY>\build-win32\MAKEFILE :
At line 319:
-@erase "$(INTDIR)\mbufferedStream.obj"
At line 353:
"$(INTDIR)\mbufferedStream.obj" \
Add the following lines to the end of the file
<TOP-LEVEL-DIRECTORY>\src\lib\omniORB2\omniORB2.def :
(At line 1036 - i.e. at the end of the file):
??0MemBufferedStream@@QAE@ABV0@@Z
??0MemBufferedStream@@QAE@I@Z
??1MemBufferedStream@@QAE@XZ
??2@YAPAXI@Z
??3@YAXPAX@Z
??4MemBufferedStream@@QAEAAV0@ABV0@@Z
??_C@_0CD@EBLJ@MemBufferedStream?3?3overrun_error@
?copy@MemBufferedStream@@AAEXABV1@@Z
?get_char_array@MemBufferedStream@@QAEXPAEH@Z
?grow@MemBufferedStream@@AAEXI@Z
?overrun_error@MemBufferedStream@@AAEPAXXZ
?pd_inline_buf_size@MemBufferedStream@@0HB
?put_char_array@MemBufferedStream@@QAEXPBEH@Z
?rewind_in_mkr@MemBufferedStream@@QAEXXZ
?rewind_inout_mkr@MemBufferedStream@@QAEXXZ
?size@MemBufferedStream@@AAEIXZ
?skip@MemBufferedStream@@QAEXK@Z
?startofstream@MemBufferedStream@@ABEPAXXZ
Re-compile both the static and dynamic libraries. Copy the new DLL to
a directory that is searched by the system's loader. Finally, link your
code to the new (static or import) library.