在 64 位应用程序中使用 std::string:"The application was unable to start correctly 0xc00007b"

Using std::string in 64-bit app: "The application was unable to start correctly 0xc00007b"

我有一个 C++ Visual Studio 项目:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s1 = "This is a string";
    cout << "s1  is: " << s1 << endl;
    return 0;
}

当我将配置管理器中的项目平台更改为 x64 时,出现运行时错误:

The application was unable to start correctly (0xc00007b).

单击“确定”会显示消息:

Unhandled exception at 0x000007FB4FB72100 (ntdll.dll) in MyConsoleApplication.exe: 0xC000007B: %hs is either not designed to run on Windows or it contains an error. Try installing the program again using the original installation media or contact your system administrator or the software vendor for support. Error status 0x.

这可能是一些 x86\x64 冲突,但我找不到任何关于在 64 位应用程序中使用 std::string 的参考资料。

有什么想法吗?

(转发我的评论作为回答)

这当然与在x64环境下使用std::string本身无关。 0xc00007bSTATUS_INVALID_IMAGE_FORMAT,因此可能是某些 DLL 或文件已损坏。

修复或重新安装即可轻松解决Visual Studio。