[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
|