1
在Windows中配置CMake以使用命令行中的clang获得最新的OpenMP支持
我有一个使用OpenMP进行并行化的小型测试项目。我的目标是对其进行编译,以使其生成.dll并.lib用于库(因为我的真实项目链接到使用这些类型分发的外部库),并且支持OpenMP 4.5或更高版本,并且可以从命令行进行操作,因此可以在docker上完成测试和检查(泊坞窗部分不在此问题的范围内,仅供参考,以说明为什么我需要它在命令行中工作)。我可以使用不满意的其他编译器来编译该项目: MSVC:,mkdir build-msvc然后cmake ..(从新创建的文件夹中),最后是cmake --build . --config Release。这可以很好地编译,但是仅支持OpenMP 2.0,因此对于我的真实项目不是一个好的选择。 Intel Parallel Studio:,mkdir build-intel然后cmake .. -T "Intel C++ Compiler 19.0"(从新创建的文件夹中),最后是cmake --build . --config Release。它支持OpenMP 5.0,但其许可证对我而言却相当昂贵。 MinGW x64 g ++:,mkdir build-g++然后cmake .. -G "MinGW Makefiles"(从新创建的文件夹中),最后是cmake --build .。它支持OpenMP 4.5,但该编译器与.lib(据我所知)与我已经提到的对我而言是不兼容的。 我尝试使用clang没有成功: 然后从MSVC中进行CLANG:,mkdir build-clang-msvc然后cmake -G Ninja -DCMAKE_CXX_COMPILER=clang-cl ..(从新创建的文件夹中),但失败并显示以下错误: -CXX编译器标识是Clang 8.0.1,带有类似MSVC的命令行 -检查工作的CXX编译器:C:/ Program Files(x86)/ Microsoft …