[omniORB] how to rebuild echo with static omniORB libraries?
Dmitry Mityugov
OxDD@digitalme.com
Fri, 25 May 2001 19:18:19 +0400
Sai-Lai Lo wrote:
> 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.
The instructions for Microsoft Developer Studio are a bit strange place for
this information, but anyway that did the trick, thanks. Visual C++ still
complains about 3 imports linked locally (all of them are from
omnithread.lib), but CodeWarrior produces different link errors. It
complains about unresolved symbols gateKeeper::allowFile,
gateKeeper::denyFile, gateKeeper::checkConnect and gateKeeper::version:
### mwld Linker Error:
# Undefined symbol: ?allowFile@gateKeeper@@2AAPADA
# 'char * & gateKeeper::allowFile' in
# omniORB3.lib (initFile.obj)
### mwld Linker Error:
# Undefined symbol: ?denyFile@gateKeeper@@2AAPADA
# 'char * & gateKeeper::denyFile' in
# omniORB3.lib (initFile.obj)
### mwld Linker Error:
# Undefined symbol: ?checkConnect@gateKeeper@@SA_NPAVtcpSocketStrand@@@Z
# 'bool gateKeeper::checkConnect(class tcpSocketStrand *)' in
# omniORB3.lib (tcpSocketMTfactory.obj)
### mwld Linker Error:
# Undefined symbol: ?version@gateKeeper@@SAPBDXZ
# 'char const * gateKeeper::version()' in
# omniORB3.lib (tcpSocket.obj)
Errors caused tool to abort.
make: *** [eg1.exe] Error 1
In initFile.cc I found this place, strange enough even for the author,
according to (the only) comment:
...
#ifdef _MSC_VER
//??
else if (strcmp(entryname, "GATEKEEPER_ALLOWFILE") == 0) {
omniORB::logs(1, "WARNING -- gatekeeper disabled.");
}
else if (strcmp(entryname, "GATEKEEPER_DENYFILE") == 0) {
omniORB::logs(1, "WARNING -- gatekeeper disabled.");
}
#else
else if (strcmp(entryname, "GATEKEEPER_ALLOWFILE") == 0) {
gateKeeper::allowFile = CORBA::string_dup(data);
}
else if (strcmp(entryname, "GATEKEEPER_DENYFILE") == 0) {
gateKeeper::denyFile = CORBA::string_dup(data);
}
#endif
...
What branch should I port to NetWare?
Thank you in advance.
Dmitry