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





Reply via email to