views:

76

answers:

1

I am trying to compile a rather large project with Borland C++ Builder 5.5. The project compiles in the IDE, but is much too slow. However, when I compile with the command line I get an ambiguity error that was not present in the IDE:

Error E2015 Project.h 536: Ambiguity between 'TTreeNode' and 'Comctrls::TTreeNode'

My command line arguments are as follows:

d:\PROGRA~1\Borland\CBUILD~1\bin..\BIN\bcc32 -Od -Vx -Ve -X- -r- -a8 -5 -b- -d -k -vi -c -tW -tWM -w-par -I[really big list of include files] -nQ:\output [really big list of files to compile]

This command is generated by make.exe.

A: 

I believe the problem lies in the fact the command line compiler and the IDE compiler are different. The command line appears to be more strict about ambiguity whereas the IDE flags it only as a warning. In light of this, I guess some projects simply can't be built with the command line tools even if they build in the IDE.

Everett
Even though they are different, the C++ rules are the same. I expect the problem is far more likely that the options passed to the compilers are different. I believe that BCB5 had the option "Show command line" (Tools->Environment options menu) which should help. (It is possible that this wasn't introduced until a later version)
David Dean - Embarcadero