使用英特尔 C++ 在发布版本中编译的"cin >> a >> b"编译错误

Compile error with "cin >> a >> b" with intel c++ compile in release version

本文关键字:gt 编译 cin 错误 C++ 英特尔 布版本 版本      更新时间:2023-10-16

当我使用带有VS2015的英特尔C++编译器编译发布版本时,它将失败。但当我编译调试版本时,它是有效的。我不明白发生了什么。它的配置有一些错误吗?错误列表在下面。我该怎么办?

--编辑--

今天,我比较了每个选项中调试版本和发布版本之间的配置,我终于发现,如果我将过程间优化设置为无文件或单个文件(/Qip),它就可以工作了。但是,如果我将过程间优化设置为多文件(/Qippo),它将不起作用。此外,我在英特尔C++编译器中找不到iostream包含路径,该项目似乎使用了VC++中的库,这就是我不能编译的原因吗?我该如何解决这个问题?非常感谢。

警告#11021未解决__imp__Src@?3_Getffld@$num_get@DV$istreambuf_iterator@DU$char_traits@D@std@@@std@@std@@ABAHPADAAV$istreambuf_iterator@DU$char_traits@D@标准@@@3@1AAVios_base@3@PAH@Z@4QBDB测试1

错误#11023并非所有链接所需的组件都出现在命令行测试1 上

#include<iostream>
using namespace std;
int main()
{
    int a, b;
    while (cin >> a >> b)
    cout << a << ' ' << b;
    return 0;
}

我在英特尔开发者区询问后。他们告诉我,这个问题只能在/MD和Qipo一起使用的情况下重现,所以我可以使用/MT来解决它。当我使用/MT时,它就起作用了。