这有多种可能的原因:您没有使用编译器安装 OpenMP,或者您在 Code::Blocks 配置中犯了错误。无论如何,请通过以下步骤,您应该能够修复它。您似乎在 Windows 上工作,但我还添加了有关如何在 Linux 上进行操作的注释。
1) 您将需要一个OpenMP 附带的编译器。对于 Windows ,最好下载 TDM-GCC 64 位可执行文件(第二个文件)并安装它。确保在组件选项卡中选择OpenMP:组件 > gcc (TDM current: ....) > OpenMP(最后一个条目)。Linux 已经带有 GCC,因此只需打开命令行并通过在终端中键入sudo apt-get install libomp-dev来获取自己的 OpenMP。
2) 您现在必须在 Code::Blocks 中配置 Compiler:转到Settings > Compiler在 Selected Compiler 下选择GNU GCC Compiler并单击Copy并为您的新编译器键入一个方便的名称,例如TDM-GCC Compiler。转到Toolchain 可执行文件并浏览所有程序文件(C 编译器、C++ 编译器、链接器、调试器、资源编译器、Make)的目录,您应该能够在C:\TDM-GCC-64\ ...\中找到它们垃圾桶如果您选择默认安装,则在 Windows 机器上。当我在 Linux 机器上工作时,我无法告诉你确切的子目录,但你应该可以很容易地找到它。根据您的安装,32 位和 64 位可能有两个文件夹。对于 Linux,此步骤不是必需的。
4)然后您需要设置链接器设置。这可以通过在上述菜单中执行以下步骤来为所有项目(我不推荐)完成,或者通过单击Project > Build options为您当前的项目完成。转到相应配置(调试或发布)的链接器设置,然后单击链接库下的添加。在 Windows 机器上,您需要浏览一个名为libgomp-1.dll(32 位)或libgomp_64-1.dll(64 位)的文件,它们应位于与上述程序文件相同的文件夹中。在 Linux 下改为选择-lgomp在其他链接器选项下。
3)通过转到编译器设置 > 其他编译器选项并在其中键入 -fopenmp来设置编译器标志-fopenmp (适用于所有项目或仅当前项目)。
4) 使用OpenMP "Hello World"之类的程序对其进行测试。