onecore \ com \ combase \ objact \ objact.cxx(812)\ combase.dll!00007FF8BD322169:(调用者:00007FF8BD320F78)ReturnHr(1)tid(b54)800401F0尚未调用CoInitialize。

我正在使用Visual Studio 2015,并且已开始收到以下错误消息。我不是在尝试编写dll或使用COM对象或其他对象。这只是一个简单的OpenGL程序。我不知道此错误消息来自何处。我如何摆脱它?

最佳答案

您正在隐式使用COM。没有代码,我们将一无所知。它可能来自shell api,通用文件对话框,操纵杆处理等。

您需要将CoInitialize( 0 );放在某个主要函数(或WinMain或wWinMain)的开头,并将CoUninitialize();放在函数末尾。如果需要使用特定的并发模型,则还有CoInitializeEx

CoInitialize description

10-05 18:45