[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