我有一个可以在 Ubuntu 和 g++ 7.4 和 Visual Studio 2019 中编译的项目。但是,当我使用 Visual Studio 时,我遇到了一个非常旧的 OpenMP 版本(200203)。我正在尝试使用英特尔 c++ 编译器,看看是否可以使用更新版本的 OpenMP (5.0) 编译项目。我的项目是基于 CMake 的,我使用以下命令对其进行配置,以便在 Visual Studio 中使用英特尔 c++ 编译器 19.0 进行编译:
cmake [Various options to locate all libraries] .. -T "Intel C++ Compiler 19.0"
然后编译使用
cmake --build . --config Release
产生
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\pplwin.h(93): error: access violation [PATH TO MY PROJECT]
static ::std::shared_ptr<scheduler_interface> * _S_scheduler_address;
^
关于可能发生的事情有什么想法吗?这是我第一次在编译期间遇到访问冲突错误。
调试版本也会发生同样的错误。
PS:我正在尝试获得一个我可以分享的 MCVE,但到目前为止这是不可能的。这发生在一个相当大的私有存储库中。