我正在开发一个Windows平台的C++ Qt桌面应用程序,我使用的是Qt的6.4版本,我用MSVC 2019编译代码(x64的代码是19.29.30146)。
我希望能够从Qt应用程序复制文本并将其粘贴到另一个程序(如记事本++)中。不幸的是,当我试图粘贴剪贴板的内容时,我得到了"0xC0000374 A heap has been corrupt"错误。
我用来做一个非常简单的测试的代码如下:
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
...
QClipboard *clipboard = QGuiApplication::clipboard();
clipboard->setText("random text");
MainWindow main_window;
main_window.show();
return app.exec();
}
有人遇到过同样的问题吗?有什么解决办法吗?
先谢了。
1条答案
按热度按时间lmvvr0a81#
我发现“heap has been corrupt”错误仅在MSVC Sanitizer激活时(即,将选项-fsanitize=address传递给编译器时)发生。
只要我用“正常”调试模式编译,一切都能正常工作。