[orbitcpp-list] Re: Gearing up for release 0.30
Status: Beta
Brought to you by:
philipd
From: <MHL...@t-...> - 2000-12-08 15:19:10
|
On Don, 23 Nov 2000 21:49:01 Martin Schulze wrote: > Hi, > > Maybe you should also make orbitcpp link against the latest > ORBit2-preview that was recently announced on the orbit-list. > > It seems that there are only few changes necessary: > [snip] Phil, did you already fixed some problems!? I made some temporary fixes for myself but checked out orbitcpp, so my changes should have got lost; however it still compiles and links against ORBit2! However, with (hacked) ORBit2 and orbitcpp up and running, there are two problems left: - The orbitcpp-test "string" compiles but doesn't link. There is a dozen unresolved externals; each of them starts with CORBA_*. This is strange because the linker finds the right version of ORBit. I even copied the library to libORBit-2.3.90.so/la and link with -lORBit-2.3.90 ... I don't know what's going wrong here. - This code doesn't compile: ______________________________________________________________ namespace _orbitcpp { namespace c { #include "corbaSigC.h" // *** This line doesn't cause errors: class testtest { CORBA_sequence_CORBA_any anytesttest; }; } } namespace corbaSigC { // *** This one causes an error: // `CORBA_sequence_CORBA_any' undeclared in namespace `_orbitcpp::c' class ctesttest { ::_orbitcpp::c::CORBA_sequence_CORBA_any anytesttest; }; // *** This one works! class cctesttest { CORBA_sequence_CORBA_any anytesttest; }; } _____________________________________________________________ The problem is, that CORBA_sequence_CORBA_any and friends are declared to have C-linkage (extern "C" {...}). The "namescpace _orbitcpp { namespace c { } }" around "#include "corbaSigC.h" is ignored for those symbols. I don't know whether there is a workaround (compliler-option). otherwise we have to cut the "::_orbitcpp::c::"! Cu, Martin |