Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 多处理器编译错误_C++_Visual Studio 2013 - Fatal编程技术网

C++ 多处理器编译错误

C++ 多处理器编译错误,c++,visual-studio-2013,C++,Visual Studio 2013,我有一个项目,它在关闭“多处理器编译”(/MP)时编译得非常好。但是,当该选项打开时,它会生成错误,例如: Error C2871: 'ADODB' : a namespace with this name does not exist 这实际上不是一个编码错误,正如前面所说的,在一个处理器中编译可以工作 我怎样才能修好它?公平地说,这是一个遗留代码,其中包含一些循环头文件。您需要查看代码。在使用/MP构建时,可能存在一些使用(不存在的)ADODB命名空间的预处理器条件?也许你丢失了一

我有一个项目,它在关闭“多处理器编译”(/MP)时编译得非常好。但是,当该选项打开时,它会生成错误,例如:

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
,这可能是正确的答案。