[sword-devel] bcpp project files
Charles W. Crary
sword-devel@crosswire.org
Thu, 4 Dec 2003 11:25:49 -0800
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
_______________________________________________
sword-devel mailing list
sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel