[sword-devel] bcpp project files

Charles W. Crary sword-devel@crosswire.org
Fri, 5 Dec 2003 10:05:42 -0800


Chris,

You *did* mention that you updated the ICU libraries, so I wasn't too
surprised to find that it didn't work with the old ones.

I tried updating bindings\bccpmake\sword.bpf to use the new ICU libraries.
I removed the references to the old ICU libraries from
bindings\bcppmake\sword.bpf (one flat API project) and replaced them with
the new ICU libraries which are contained in
icu-sword\as_is\borland\icu.bpg.  That actually includes three more
libraries than you mentioned (icuio.lib, icule.lib and lculx.lib).

Unfortunately, when I try to build the DLL, I still get the following error
when linking:

[Linker Error] Unresolved external '_icudt26_dat' referenced from
ICU-SWOD\AS_IS\BORLAND\ICUUC.LIB|udata

And now I'm out of my depth.  I don't seen any '_icudt26_dat' anywhere in
the project, much less in udata.h or udata.c.  

If you could provide any hint as to how I should proceed, I'll be happy to
chase it down.

Thanks for all your help, and for your work on this great project.

Charles Crary

> -----Original Message-----
> From: sword-devel-admin@crosswire.org 
> [mailto:sword-devel-admin@crosswire.org] On Behalf Of Chris Little
> Sent: Thursday, December 04, 2003 5:00 PM
> To: sword-devel@crosswire.org
> Subject: Re: [sword-devel] bcpp project files
> 
> Charles & Troy,
> 
> I'm sorry I did't notice that the ICU stuff gets used in the 
> flat API projects.  I would have fixed it back when I made 
> those changes to the main library project.
> 
> The problem is that I changed the names of the ICU library 
> project files (and of the library files themselves).  It 
> should be pretty self-explanatory.  I think the project files 
> are now called icuuc and icuin, and are in the same directory 
> as they used to be (something like icu-sword/as_is/borland/). 
>  I'll have a moment tomorrow to look at it if no one else 
> gets the chance to commit a fix tonight.
> 
> --Chris
> 
> 
> Charles W. Crary wrote:
> > Troy,
> > 
> > Thanks for the quick response.  
> > 
> > I suspected that something like you described had happened 
> with CodeGuard.
> > 
> > I had tried to use the BPG file 
> (bindings\bcppmake\sworddll.bpg) but 
> > it was broken.  On the off chance that it would help, I fixed the 
> > project group file (it references a test.exe project which doesn't 
> > actually exist in the default directory) but I am running into the 
> > same issues with the ICU libraries - either ICUI18N.LIB isn't 
> > available (if I build with the original *.BPF file) or there is an 
> > unresolved external reference in ICUUC.LIB (if I build with 
> a modified 
> > *.BPF which includes all the ICU libraries built from CVS).
> > 
> > I appreciate your looking into this.  I'll see if I can get any 
> > further as well.
> > 
> > Thanks,
> > 
> > Charles
> > 
> > -----Original Message-----
> > From: sword-devel-admin@crosswire.org
> > [mailto:sword-devel-admin@crosswire.org] On Behalf Of Troy A. 
> > Griffitts
> > Sent: Thursday, December 04, 2003 10:22 AM
> > To: sword-devel@crosswire.org
> > Subject: Re: [sword-devel] bcpp project files
> > 
> > Charles,
> > 	Quick reply to some questions.
> > 
> > 	My apologies.  Last time I built the windows code, I 
> was hunting down 
> > a memory leak in one of the utilities, so I turned on 
> CodeGuard in the 
> > project file.  The project file was commited with my fix 
> for the memory bug.
> > I hadn't thought much about the free version of the compiler not 
> > providing the codeguard libraries.  I will try to remember to turn 
> > codeguard off before commiting, next time.
> > 
> > 	Building from .bpg files is usually all that we 
> support, though using 
> > the individual .bpr project files directly should work fine.  BUT, 
> > usually the .bpg files know what projects need to be built FIRST 
> > before other things.  In short, I'd recommend that you use 
> the Borland 
> > Project Group (.bpg) files, if they exist.
> > 
> > 	I haven't attempted to build the flatapi in some time, 
> on Windows.
> > It should work, as I think it is used for some language 
> bindings, and 
> > compiled for other platforms, but I'm not sure.  Let me know if you 
> > get it working.  I will also try to make time to look at it soon.
> > 
> > 	Hope this helps a little,
> > 		-Troy.
> > 
> > 
> > 
> > Charles W. Crary wrote:
> > 
> >>Guys,
> >> 
> >>I've been trying to build 1.5.6 and the current version in 
> CVS in the 
> >>Standard (cheap) edition of Borland C++Builder 5.  I've run into a 
> >>couple of problems and the occaisional solution and wanted 
> to run them 
> >>by
> > 
> > the list.
> > 
> >> 
> >>I'm primarily a Pascal and SQL developer, so please pardon 
> my ignorance.
> >> 
> >>The first issue:  When trying to build the library using 
> >>lib\bcppmake\libsword.bpr or lib\bcppmake\libsword6icu.bpr I had 
> >>problems when linking - the linker said that it couldn't fine 
> >>cg32.lib.  After a bit of research I discovered that the library 
> >>belongs to CodeGuard, an extra tool that Borland ships with the 
> >>Enterprise version of C++Builder.  There is no GUI access 
> to CodeGuard 
> >>options in the cheaper versions of C++Builder, but I 
> removed the line 
> >>indicated below from the linker section of the Borland project files
> > 
> > (*.bpr).
> > 
> >> 
> >>  <LINKER>
> >>    <ALLOBJ value="$(OBJFILES)"/>
> >>    <ALLLIB value="cg32.lib"/>        <-- remove this line!
> >>  </LINKER>
> >>
> >>Once this line was gone, I was able to build the library.
> >>
> >>I'm not familiar with CodeGuard, and haven't gotten to where I can 
> >>test the library to make sure it works without it.  But if it isn't 
> >>necessary, I think it would make sense to remove the reference so 
> >>those of us with the cheaper versions of the C++Builder 
> won't have to 
> >>mess
> > 
> > with it in the future.
> > 
> >>Second item: While trying to figure this out I got the current code 
> >>from CVS and played around with it.  The *.bpf files in 
> lib\bcppmake 
> >>(which list the files to build) appear to be empty.  I may be 
> >>betraying my ignorance here, but the same files in 1.5.6 
> list quite a 
> >>number of files, none of which appear in the CVS version.  
> When I try 
> >>to Build the projects from CVS, it is finished immediately, so I 
> >>suspect that some files are missing.  Are these project 
> files in the 
> >>midst of revision?  It isn't a big deal, since I have 
> access to 1.5.6, 
> >>but
> > 
> > I *am* curious.
> > 
> >>Third item: I am trying to build the flat API version of 
> the library 
> >>(bindings\bcppmake\sword.bpr).  I've gotten icu-sword from CVS and 
> >>have built it successfully, but when I try to build the 
> flat API, the 
> >>linker complains that it can't find ICUI18N.LIB.  That 
> doesn't appear 
> >>to be in the icu-sword project, so I'm not sure where to go.
> >>
> >>I did see on the list that someone (Chris maybe?) had 
> updated the ICU 
> >>stuff in the last few months.  Perhaps bindings\bcppmake\sword.bpf 
> >>hasn't been updated to reflect the new ICU libraries?  Currently it 
> >>looks
> > 
> > like this:
> > 
> >>     USEUNIT("sword.c");
> >>     USEUNIT("..\flatapi.cpp");
> >>     USELIB("..\..\lib\libsword.lib");
> >>     USELIB("..\..\..\icu-sword\as_is\borland\icui18n.lib");
> >>     USELIB("..\..\..\icu-sword\as_is\borland\icudatab.lib");
> >>     USELIB("..\..\..\icu-sword\as_is\borland\icucommon.lib");
> >> 
> >>//----------------------------------------------------------
> ----------
> >>------
> >>-
> >>     This file is used by the project manager only and should be 
> >>treated like the project file
> >>
> >>
> >>     DllEntryPoint
> >>
> >>I've tried replacing the ICU libraries above with the five ICU 
> >>libraries in the current CVS (icuuc.lib, icuin.lib, icuio.lib, 
> >>icule.lib, iculx.lib), but I get an error on linking:
> >>
> >>[Linker Error] Unresolved external '_icuudt26_dat' referenced from 
> >>ICU-SWOD\AS_IS\BORLAND\ICUUC.LIB|udata
> >>
> >>If anyone could give me a hint as to how to proceed, I would 
> >>appreciate
> > 
> > it.
> > 
> >>Lest I be accused of complaining, I think that this is a great 
> >>project, and I appreciate all the work you guys have done on it.
> >>
> >>Thanks,
> >>
> >>Charles Crary
> 
> 
> _______________________________________________
> sword-devel mailing list
> sword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/sword-devel