Categories: MSDN / DotNet / Java / Scripts / Linux / PHP Ask - La ask - La Answer

Borland C++ question

Is it possible that a project created with a borland 4.0 c++ compiler will not compile on a release 5.0 or 6.0 compiler?
[120 byte] By [Chris H Baker] at [2007-11-11 10:09:10]
# 1 Re: Borland C++ question
u have tried or you just want to know ?
the c language doesn't changes .. only changes could be ide related .. maybe scripts format .. but also they will be easiley upgraded as the new versions usually support older but the converse is optional .
Amahdy at 2007-11-11 20:59:22 >
# 2 Re: Borland C++ question
Yes, it's possible. The compiler changed and some of the keywords and features of C++ changed between these two versions (for example, template ordering and partial specializations were modified). However, the changes aren't drastic so the build errors should give you sufficient hints on what needs to be fixed. If the entire projects fails to build, you should also check other options such configuration files, search paths and compilation options. What is the error you're getting?
Danny at 2007-11-11 21:00:22 >
# 3 Re: Borland C++ question
My company have bought some code that they originally just had the executable for.

The project file says

VERSION = BCB.04.04

I have tried compiling in release 5 and 6 but no luck.

Version 5 says that System::PByte does not exist (system.hpp I think)

version 6 gives specific errors in code we have bought, which should have compiled in version 4.
Chris H Baker at 2007-11-11 21:01:25 >
# 4 Re: Borland C++ question
It seems like a configuration problem to me. Make sure that you have the make files needed to compile the original source file and that all the compilaer switches are the same. Also, make sure that the project has the correct setting (i.e., it's not a Console App). Finally, if you can post some of the code here and the exact error messages you're getting, it will help us pin down the problem.
Danny at 2007-11-11 21:02:26 >
# 5 Re: Borland C++ question
In case of c++ builder products the newer versions should be able to compile code made by older versions. Sometimes, however, if the code written in an older version depends on a component (bpl or something else) that is no longer supported you will get compile errors. I've converted a lot of code from version 3 to 5 and never had any problems that I couldn't fix. Like Danny have said it could be a project configuration issue so check whether your project needs some packages and all the librariries are in the project's path.
Ivan** at 2007-11-11 21:03:25 >
# 6 Re: Borland C++ question
I am missing a file called ibsmp.lib

Does anyone know what this is?
Chris H Baker at 2007-11-11 21:04:29 >
# 7 Re: Borland C++ question
If I find out what ibsmp.lib is for I'll let you know. But I can't believe that your company buys some code and doesn't have any kind of support from the vendor. I hope you'll make it work eventually but it's a waste of time
Ivan** at 2007-11-11 21:05:33 >
# 8 Re: Borland C++ question
I've been told that we don't have relations with the company we bought it off and they are now part of another company.

There is a file called DEPLOY.TXT in the borland directory which lists it as a library which vendors may have to distribute with applications, and it is a part of the enterprise edition.

If anyone has it then please e-mail it to thechrisbaker@hotmail.com
Chris H Baker at 2007-11-11 21:06:27 >
# 9 Re: Borland C++ question
I downloaded the enterprise version and found a copy of the file
Chris H Baker at 2007-11-11 21:07:29 >
# 10 Re: Borland C++ question
I found out that ibsmp.lib is a part of a package called ibsmp.bpl which contains one VCL component (TIBEventAlerter) found on the Samples pallette page. This component notifies the user of different events ocurring in an Interbase database (such as when a table is read from, written to etc)
Ivan** at 2007-11-11 21:08:30 >
# 11 Re: Borland C++ question
Chris, my advice is to hire a freelance VCL expert to get it done. Looking for a header there, a component here and a missing compiler flag can take years. Normally, such software packages use a make file which contains all the necessary instructions for the compiler and linker. Trying to recover that information by means of reverse engineering can work but it's a huge waste of time and quite frustrating. So the bnest thing you can do: contact an expert from the said compnay, pay him or her a few hundred bucks to make everything work (it shouldn't take more than a couple of days at most) and document all that information so that you can use it later. Remember: very few projects are a "hello world" style self contained programs that run just by clicking "Build".
Danny at 2007-11-11 21:09:28 >