[omniORB] Corba::WString or WChar
S. Sahayaraj
ssahayaraj at quark.com
Thu Oct 26 15:34:50 BST 2006
The problem was due to conflict of data type definition for wchar
between OmniORB and my sample projects. In my samples, I'm using my own
definition for wchar as a 16 bit entity using "Unsigned Short". But
OmniORB uses its own CORBA::WChar data type. So wherever I'm using the
CORBA::WString methods, the linker reports that all of them are
unresolved symbols along with "Unsigned Short" as the parameters of
those method signatures.
Actually, we can override the CORBA::WChar data type by our own data
type in omniORB. It can be done through the manually in
"$...\include\omniORB4\local_config.h" file in omniORB source
distribution. After changing it, rebuilt the omniORB again. All the
linking issues have been resolved. It works fine.
Since beginning, I was expecting the similar configuration and searching
the same. Unfortunately, I haven't found it in documentation, examples
and nowhere in distribution list. At last, got it in one of the header
file.
For better documentation, Can we put this information into either Readme
or user guide or any other documentation?
Thanks
Sahay.
________________________________
From: Luke Deller [mailto:ldeller at xplantechnology.com]
Sent: Wednesday, October 25, 2006 5:22 AM
To: S. Sahayaraj; Barthel Marco
Cc: OmniOrb
Subject: RE: [omniORB] Corba::WString or WChar
No, that's not what this option does. It does not cause string
variables to be stored as wide characters where they would otherwise be
stored as 8-bit characters.
With this option disabled, "wchar_t" is not a built in type, so you'll
get an error if you try to use it unless you have included a header file
which defines it. In this case it is typically typedef'd to "unsigned
short" by a relevant header file.
With this option enabled, "wchar_t" is its own built-in type, just as
"int" is a built-in type; it is not defined by a typedef statement.
Reference:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/
html/vclrfZcwchar_t.asp
Marco's suggestion sounds like a good one to me, because the use of this
option would impact the type signature of functions using wchar_t which
would in turn affect the mangled symbol name. I imagine that you would
need to use the same setting for this option as was used to compile
omniORB.
Regards,
Luke.
________________________________
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of S.
Sahayaraj
Sent: Tuesday, 24 October 2006 9:43 PM
To: Barthel Marco
Cc: OmniOrb
Subject: [SPAM_HeaderCheck] - RE: [omniORB] Corba::WString or WChar -
Email has different SMTP TO: and MIME TO: fields in the email addresses
If you enable "Treat wchar_t as Built-in Type" option, then it simply
treats that all the string variables in your project are in WChar
format which I don't want. Because, we have to use Char or Char* in some
situation.
________________________________
From: Barthel Marco [mailto:Marco.Barthel at comergo.com]
Sent: Friday, October 20, 2006 1:46 PM
To: S. Sahayaraj; OmniOrb
Subject: RE: [omniORB] Corba::WString or WChar
consider the Option C-C++/Language "Treat wchar_t as Built-In Type" in
Visual-Studio. omniorb and your application must be compiled with the
same settings.
-marco
________________________________
From: omniorb-list-bounces at omniorb-support.com
[mailto:omniorb-list-bounces at omniorb-support.com] On Behalf Of S.
Sahayaraj
Sent: Tuesday, October 17, 2006 3:06 PM
To: OmniOrb
Subject: [omniORB] Corba::WString or WChar
I've tried to use WString or WChar data type in my sample
application. I was able to compile the IDL and build the application. It
went fine. But while running that application, I'm getting the error
?empty_wstring at _CORBA_WString_helper@@2QBGB could not be located in
dynamic link library omniORB407_rtd.dll
<mailto:?empty_wstring at _CORBA_WString_helper@@2QBGB%20could%20not%20be%2
0located%20in%20dynamic%20link%20library%20omniORB407_rtd.dll> . It
looks the implementation of WString are missing or not enabled in the
DLL's. So, I just would like to know the following.
1. In order to enable the WString or WChar, Do we need to
use any configuration parameters while ORB_Init?
2. Do we have to use any additional DLL's/Lib's apart from
omniORB, omniDynamic and omniThread?
3. While compiling the omniORB source, do we need to enable
any configuration input in make files?
BTW, it works fine on string or char data types.
Thanks
Sahay.
************************************************************************
**********************
Important Note
This email (including any attachments) contains information which is
confidential and may be subject to legal privilege. If you are not the
intended recipient you must not use, distribute or copy this email. If
you have received this email in error please notify the
sender immediately and delete this email. Any views expressed in this
email are not necessarily the views of XPlan Technology.
It is the duty of the recipient to virus scan and otherwise test the
information provided before loading onto any computer system.
Xplan Technology does not warrant that the information is free of a
virus or any other defect or error.
************************************************************************
**********************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20061026/fcd6a4b2/attachment.htm
More information about the omniORB-list
mailing list