Intel (windows) c++ 编译器并将其库实现更改为 gcc。是否可以?

woo*_*sah 5 c++ compiler-construction intel visual-studio c++11

不确定这是否是正确的提问地点,但这里是

英特尔网站上的一个页面指出:

Windows 版英特尔 C++ 编译器使用 Microsoft Visual C++ 头文件、库和链接器。Microsoft 控制定义命名空间的头文件。请联系 Microsoft 的技术支持,参考 Microsoft 在此问题上遵守 C++ 标准的情况...链接

Intel(或其他)是否有指南将库从由Visual Studio管理的库更改为由gcc提供的库(也在我的 Windows 计算机上)。我想这样做的原因是为了利用 Visual Studio 版本中不支持的一些新的 C++11 功能(通常是这种情况)

如果这是不可能的,因为我目前对上述知识的了解不正确,有人可以向我解释为什么不可以。

谢谢。

Mik*_*han 0

这实际上是不可能的。

如果英特尔编译器 (icl) 在 上找不到 VC++ 二进制文件,它只会抱怨,PATH所以您知道它至少需要 VC++ 工具链。

然后,要查看您遇到的问题,就使用 gcc 标头而言,您将执行以下操作:

  • 使 icl 抑制其自己的预定义宏。
  • 让它使用 gcc 的预定义宏。
  • 使其抑制其标准包含搜索。
  • 让它使用 gcc 的标准包含搜索。

这些都不难,当您完成所有操作并尝试构建 时HelloWorld.cpp,错误将显示 gcc 标头充满了 icl 未知的 gcc 编译器的内置关键字:__builtin_va_list, __attribute__, __cdecl__,__nothrow__

您可以尝试通过预处理器宏成功删除或重新定义所有这些。或者你可能会放弃,我会敦促后者。