为什么当我从命令行编译而不是从IDE编译时会出现amibguity错误? 我试图用Borland C++ Builder 5.5编译一个相当大的项目。该项目在IDE中编译,但速度太慢。但是,当我使用命令行编译时,我得到了IDE中不存在的歧义错误:

为什么当我从命令行编译而不是从IDE编译时会出现amibguity错误? 我试图用Borland C++ Builder 5.5编译一个相当大的项目。该项目在IDE中编译,但速度太慢。但是,当我使用命令行编译时,我得到了IDE中不存在的歧义错误:,c++,command-line,makefile,c++builder,C++,Command Line,Makefile,C++builder,错误E2015 Project.h 536:“TTreeNode”和“Comctrls::TTreeNode”之间的歧义 我的命令行参数如下所示: d:\PROGRA~1\Borland\CBUILD~1\bin..\bin\bcc32-Od-Vx-Ve-X--r--a8-5-b--d-k-vi-c-tW-tW-tWM-w-par-I[包含文件的大列表]-nQ:\output[要编译的文件的大列表] 这个命令是由make.exe生成的。我认为问题在于命令行编译器和IDE编译器是不同的。命令行似乎

错误E2015 Project.h 536:“TTreeNode”和“Comctrls::TTreeNode”之间的歧义

我的命令行参数如下所示:

d:\PROGRA~1\Borland\CBUILD~1\bin..\bin\bcc32-Od-Vx-Ve-X--r--a8-5-b--d-k-vi-c-tW-tW-tWM-w-par-I[包含文件的大列表]-nQ:\output[要编译的文件的大列表]


这个命令是由make.exe生成的。

我认为问题在于命令行编译器和IDE编译器是不同的。命令行似乎对模糊性更为严格,而IDE仅将其标记为警告。有鉴于此,我想有些项目根本无法使用命令行工具构建,即使它们是在IDE中构建的。

最后一个-我似乎指定了一个包含目录,但该目录本身缺失或是真正庞大的文件列表的一部分。\bin..\也似乎有点奇怪。你确定你的命令行是对的吗?我已经在描述中修复了命令行。这个bin看起来很奇怪,但是我确信,在没有问题的情况下发现工具是没有问题的,并且似乎没有引用错误。尽管它们不同,C++规则是相同的。我认为问题更可能是传递给编译器的选项不同。我相信BCB5有一个选项Show command line Tools->Environment options菜单,这应该会有所帮助。这可能是直到后来的版本才引入的