Board index » cppbuilder » BCB6=>Builder2007

BCB6=>Builder2007


2007-06-27 10:29:21 PM
cppbuilder49
Hello,
I have downloaded and purchased it,but when I try to build my application it
stop everyitmes saying it don't know where are the lib or headers, for third
party I can understand but it ask to me for example for <algorithm.h>
I have looked at the option directory and add mine third party objects, but
there is some it don't find.And I have no problem with BCB6 for this
What must I do where can I find info about,and how to use objects?that there
was on the tabs of BCB6?
I thank you in advance very much
Excuse my English
Patrick
PS: do it have take and install in it all the files in project folder lib
and bpl? because I don't see all
Thank
 
 

Re:BCB6=>Builder2007

patrickartaud wrote:
Quote
party I can understand but it ask to me for example for <algorithm.h>
Maybe because the header is named algorith.h ( no m ) ?
 

Re:BCB6=>Builder2007

patrickartaud wrote:
Quote
headers, for third party I can understand but it ask to me for example
for <algorithm.h>
try #include <algorithm>
 

{smallsort}

Re:BCB6=>Builder2007

Bob Gonder < XXXX@XXXXX.COM >writes:
Quote
patrickartaud wrote:

>party I can understand but it ask to me for example for <algorithm.h>

Maybe because the header is named algorith.h ( no m ) ?
Physically, yes. But the corret way to include it is to add the m and
drop the .h.
It should always be #include <algorithm>
On the old compiler, it first tries to find the exact filename. When
it doesn't find "algorithm" on the disk, it mutates the filename by
chopping off everything after the 8th character, and if there was no
".h" extension, it adds one, and then tries again. So by applying
this, #include <algorithm>will search for "algorithm" and not find
it, then mutate the name into "algorith.h" and find it.
On the newer compiler, I believe the filename actually is "algorithm"
on disk, so this filename mutation is not necessary.
If you include "algorith.h" it is a nonstandard header inclusion and
will only work with BCB6 and earlier. If you include just "algorithm"
it works on all C++ compilers.
--
Chris (TeamB);
 

Re:BCB6=>Builder2007

Chris Uzdavinis wrote:
Quote
Bob Gonder writes:
If you include "algorith.h" it is a nonstandard header inclusion and
will only work with BCB6 and earlier. If you include just "algorithm"
it works on all C++ compilers.
Actually, it still exists with the 2006 version.
But actually reading it, it is just a redirection wrapper that
switches between oldstl\algorith.h and dinkumware\algorithm
 

Re:BCB6=>Builder2007

Yes thank you at all,
But I'm obliged to do this for all or there is somewhere explanation to
transfer BCB6 projects with third party tools, and directories option?
Because I have written this example to than same basis header it don't
find.And on XP my application built and run very well
I thought it was more easy like to pass from BCB4 to BCB6
Or it is me....but where to find explanations of configurations, and for
example Tab tools there was In BCB6
I thank you again to help me
Patrick
Quote
try #include <algorithm>
 

Re:BCB6=>Builder2007

Bob Gonder < XXXX@XXXXX.COM >writes:
Quote
Chris Uzdavinis wrote:

>Bob Gonder writes:

>If you include "algorith.h" it is a nonstandard header inclusion and
>will only work with BCB6 and earlier. If you include just "algorithm"
>it works on all C++ compilers.

Actually, it still exists with the 2006 version.
But actually reading it, it is just a redirection wrapper that
switches between oldstl\algorith.h and dinkumware\algorithm
Oh, ok. The old "extra level of indirection" trick. Once the
"oldstl" is gone they could put the dinkumware directory in the
compiler's include path and then it'd open the real one on the first
try.
--
Chris (TeamB);
 

Re:BCB6=>Builder2007

Chris Uzdavinis (TeamB) wrote:
Quote
Oh, ok. The old "extra level of indirection" trick. Once the
"oldstl" is gone they could put the dinkumware directory in the
compiler's include path and then it'd open the real one on the first
try.

That's how it works with BDS2006 on. There is no need to use this trick.
.a