MSB6006:使用openMP时,使用代码2退出了“ CL.exe”

时间:2019-07-17 06:26:11

标签: c++ visual-studio

我尝试在Visual Studio中运行一些openMP示例,但是当启用/ openMP时,程序无法运行,返回错误“ MSB6006:“ CL.exe”已退出,代码2” 。这是示例:

int main(int argc, char* argv[]) { 
  #pragma omp parallel { 
     printf("Hello World... from thread = %d\n", omp_get_thread_num()); 
  } 
  return 0;
} 

谢谢您的帮助。

1 个答案:

答案 0 :(得分:5)

使用openMP时,不能使用“两阶段名称查找”选项。这在“输出”窗口中指示,您可以在其中看到以下消息:

1> c1xx:错误C2338:C ++ / CLI,C ++ / CX或OpenMP不支持两阶段名称查找;使用/ Zc:twoPhase-

要修复此问题,请转到“项目属性”->“ C / C ++”->“命令行”,然后在底部的“其他选项”中添加 / Zc:twoPhase-,然后按确定。那解决了我的问题。 enter image description here