Hi,
Sorry to come back to you all again with another question on the same topic
of trying to use the ICU message loader, last one I promise!!! I have
upgraded to VC++(7.1) and am using the latest version of ICU 3.4 and Xerces
2.6.0. I have changed the preprocessor definitions
section I took out XML_USE_WIN32_MSGLOADER and put in
XML_USE_ICU_MESSAGELOADER and have put the correct files
util\msgloaders\icu\ICUMsgLoader.* into the project and added all lib files
into the correct places as suggested below, but am getting the following
error:
Generating Code...
Linking...
Creating library ..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2D.lib and
object ..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2D.exp
ICUMsgLoader.obj : error LNK2001: unresolved external symbol
__imp__XercesMessages2_6_0_dat
..\..\..\..\..\Build\Win32\VC7\Debug/xerces-c_2_6D.dll : fatal error
LNK1120: 1 unresolved externals
I was wondering if anyone has suggestions for fixing this link error.
The string "XercesMessages2_6_0_dat" seems to only appear in
ICUMsgLoader.cpp.
Thanks again for any help,
John O' Donnell
----- Original Message -----
From: "Alberto Massari" <[EMAIL PROTECTED]>
To: <[email protected]>
Cc: <[EMAIL PROTECTED]>
Sent: Tuesday, August 23, 2005 4:52 PM
Subject: Re: Building Xerces-C++ with ICU
Hi John,
you still need to remove from the project the
util\Transcoders\Win32\Win32TransService.* files, and add the
util\Transcoders\ICU\ICUTransService.* ones.
Alberto
At 10.35 23/08/2005 +0100, John O'Donnell wrote:
Hi Gerry,
Thanks very much for your help, I still seem to be having problems though.
If you have the time would you be able to take a quick scan through what I
have done and see if there is anything you can spot.
I am using VC++ 6.0, so am using ICU 3.2 as the latest version (3.4) seems
to only be available for VC++ 7.1.
After downloading the binary for ICU 3.2, in VC++ 6.0 I went to
tools->options and added the path to the header files ( icu\include), to
the Include Files and Source files in the "Show Directories for" option. I
then added icu\lib to the Library Files option and icu\bin for the
executable files option.
I then went to Project->settings->Link and in the Object/Library Modules
section added in paths to all the lib files contained in icu\lib.
Finally in Project->settings->C/C++ in the preprocessor definitions
section I took out XML_USE_WIN32_MSGLOADER and put in
XML_USE_ICU_MESSAGELOADER.
During compilation of the xerces dll at the link stage I get the following
error:
------------------------------------------------------------------------------------------
Creating library ..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_2.lib and
object ..\..\..\..\..\Build\Win32\VC6\Release/xerces-c_2.exp
Win32PlatformUtils.obj : error LNK2001: unresolved external symbol
"public: __thiscall xercesc_2_6::ICUMsgLoader::ICUMsgLoader(unsigned short
const * const)" ([EMAIL PROTECTED]@@[EMAIL PROTECTED]@Z)
..\..\..\..\..\Build\Win32\VC6\Release\xerces-c_2_6.dll : fatal error
LNK1120: 1 unresolved externals
Error executing link.exe.
xerces-c_2_6.dll - 2 error(s), 0 warning(s)
------------------------------------------------------------------------------------------------------
Any ideas?
Any help again would be greatly appreciated,
Regards,
John
----- Original Message ----- From: "Gurminder Singh" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Saturday, August 20, 2005 6:21 AM
Subject: RE: Building Xerces-C++ with ICU
Hi John,
Following are the steps to build xerces with icu using msdev gui.
1. In the open the XercesLib.vcproj in msdev then add icu transcoders
files under the util->Transcoders folder. These file are in
xerces_2_6_0\src\xercesc\util\Transcoders\ICU directory.
2. Now open the properties of the XercesLib.vcproj and in the
preprocessor Add the the macro XML_USE_ICU_TRANSCODER and remove the
macro XML_USE_WIN32_TRANSCODER.
3. I use the icu 3.2 libs (icuucd.lib icudt.lib) so, open the
properties of the XercesLib.vcproj and in linker -> input -> addition
dependencies add these to libs and then in linker -> general
->Additional library Directories add the path where these libs are (
like icu-3.2\icu\lib);
4. No in properties got c/c++ -> general -> Additional include
Directories add icu-3.2\icu\source\common\ path to include some headers
needed from icu.
5. Now build It I think it should get buid without error.
Tell me if you get any probs. I may be forgetting something.
--Regards
--gerry
CONFIDENTIALITY NOTICE
This e-mail transmission and any documents, files, or previous
e-mail messages appended or attached to it, may contain information that
is confidential or privileged. If you are not the intended recipient, or
a person responsible for delivering it to the intended recipient, you
are hereby notified that any disclosure, copying, printing,
distribution, or use of the information contained or attached to this
transmission is STRICTLY PROHIBITED. If you have received this
transmission in error, please immediately notify the sender by telephone
(91-172-2299440) or return e-mail message ([EMAIL PROTECTED]) and
delete the original transmission, its attachments, and any copies in
your possession, custody or control. Thank you.
-----Original Message-----
From: John O'Donnell [mailto:[EMAIL PROTECTED]
Sent: Friday, August 19, 2005 9:25 PM
To: [email protected]
Subject: Building Xerces-C++ with ICU
Hey all,
I am trying to build Xerces C++ with ICU. According to the Apache
website there are 2 alternatives to build Xerces-C++ with ICU on Windows
one is to use the MSDEV GUI environment, and the other is to invoke the
compiler from the command line. Using, the GUI environment, requires one
to edit the project files. The website describes the command line
method. Does anyone know where I can information on how to do it using
the MSDEV GUI?
Cheers,
John