C++ 多处理器编译错误
我有一个项目,它在关闭“多处理器编译”(/MP)时编译得非常好。但是,当该选项打开时,它会生成错误,例如:C++ 多处理器编译错误,c++,visual-studio-2013,C++,Visual Studio 2013,我有一个项目,它在关闭“多处理器编译”(/MP)时编译得非常好。但是,当该选项打开时,它会生成错误,例如: Error C2871: 'ADODB' : a namespace with this name does not exist 这实际上不是一个编码错误,正如前面所说的,在一个处理器中编译可以工作 我怎样才能修好它?公平地说,这是一个遗留代码,其中包含一些循环头文件。您需要查看代码。在使用/MP构建时,可能存在一些使用(不存在的)ADODB命名空间的预处理器条件?也许你丢失了一
Error C2871: 'ADODB' : a namespace with this name does not exist
这实际上不是一个编码错误,正如前面所说的,在一个处理器中编译可以工作
我怎样才能修好它?公平地说,这是一个遗留代码,其中包含一些循环头文件。您需要查看代码。在使用
/MP
构建时,可能存在一些使用(不存在的)ADODB
命名空间的预处理器条件?也许你丢失了一些特殊的头文件?@Someprogrammerdude我不明白。没有缺少头文件,因为在没有/MP
的情况下编译时,它运行得很顺利。此外,没有任何预处理器条件明确地干扰/MP
——我只处理/NDEBUG
等。我的意思是,源代码中可能有一些条件在启用/MP
的情况下执行不同的操作,对于“不同的事情”,当禁用/MP
时,您可能需要一个不需要的头文件。这就是为什么您需要查看代码,以查看是否有\if
、\ifdef
或\ifndef
围绕ADODB
命名空间的使用。您还应该尝试在项目的源文件和头文件中查找该名称空间,或者使用您最喜欢的搜索引擎进行搜索。请确保您没有使用任何名称空间。可能是您试图使用的名称空间是#import
ed,它不适用于/MP
@army007:假设您从#import
获得ADODB
,这可能是正确的答案。