Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


ID: 17509, The Linker Bug in BCB5Enterprise

by Irfan Adilovic Email: Anonymous


When some options change between two compiles/links while working with the console (tested for console), the linker goes mad. How to fix it?
RougeWave implementation seems to have a memory related bug in their streams....
Download Details
FTP  download also available 0 bytes
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For C++Builder, Version 5.0  to 5.0 9 downloads
Copyright: No significant restrictions


Size: 0 bytes
Updated on Tue, 05 Feb 2002 17:02:42 GMT
Originally uploaded on Tue, 05 Feb 2002 16:47:12 GMT
Description
void Report(){
If the default project options is set to full debug, the program works fine, but whenever you try to change what warnings to display for Linker on its tab in Project Options (ctrl+shift+F11), the linker goes crazy: it says [Linker Fatal Error] Fatal: Illegal option: v (or w sometimes). What I determined is that the .bpr file of the project becomes corrupted in the following sense: the line
becomes corrupted, and that line is the options for the linker. The following two lines I got in two .bprs:


which were created second after the first, only with different linker options set WITHIN Project Options in BCB5E.

And, I checked to be sure, and as you may guess: -w options are these: /w-dee /w-dpl /w-dup /w-exp /w-nou /w-rty /w-srd /w-snf and /w-uld ; where there is no such an option as -w-v and that is the mistake. /v includes full symbolic debug information and the IDE somehow mishandles resetting of the parameters for /w which is showing ALL warnings, when reducing *all* to *selective* warnings (individually set). The workaorounds are:
1. to set the parameters manualy by looking which you want set and which not;
2. make a backup of an initially working project file .bpr .

If the initial is corrupted, try manually setting the options in .bpr or try setting the default options for project as FULL DEBUG. Then recreate the project.
.bpr backuping works real fine for me...

The other problem with no current workaround by me is the Rouge Wave implementation which creates apparent memory leaks (CoudeGuard detected):

Resource leak: The object (...) was never deleted
The object (...) [size: 96 bytes] was created with new
Call Tree:
...CBUILDER5\INCLUDE\rw/ctype.h#494
...CBUILDER5\INCLUDE\rw/locimpl.h#454
...
...CBUILDER5\INCLUDE\rw/usefacet.h#72
...CBUILDER5\INCLUDE\ios.h#375

have a look and try to debug :) The first line mentioned is:
{ return new _RW_STD::ctype(NULL,false,1); }

The simplest code to generate that is:
#include
void main()
{
char line[10];
std::cin.getline(line,5);
}

with FULL DEBUG on and all four CodeGuard options on.

}/*end report by Irfy :)*/

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Could not retrieve comments. Please try again later.

Server Response from: ETNACDC04