C++ 如何修复c+中的"crtivalidheapoint(pUserData)断言失败;+;winforms应用程序
这是我第一次使用这样的网站,但我明显被卡住了。 下面的背景部分是为了完整性而包含的,因为我不确定其中描述的任何操作是否导致了我目前面临的问题 背景C++ 如何修复c+中的"crtivalidheapoint(pUserData)断言失败;+;winforms应用程序,c++,winforms,boost,clr,C++,Winforms,Boost,Clr,这是我第一次使用这样的网站,但我明显被卡住了。 下面的背景部分是为了完整性而包含的,因为我不确定其中描述的任何操作是否导致了我目前面临的问题 背景 一位同事和我在Visual Studio 2010(完整版)中为一个大学作业在控制台应用程序中编写了大量C++代码(默认设置)。我们决定尝试使用winforms应用程序,因此在VisualStudio2010中创建了一个winforms应用程序,并从控制台应用程序导入了所有代码。我们面临以下问题: 需要在“stdafx.h”文件中添加include,
一位同事和我在Visual Studio 2010(完整版)中为一个大学作业在控制台应用程序中编写了大量C++代码(默认设置)。我们决定尝试使用winforms应用程序,因此在VisualStudio2010中创建了一个winforms应用程序,并从控制台应用程序导入了所有代码。我们面临以下问题:
Brad要尝试回答您的具体问题:
main()
是代码的入口点,而不是整个可执行文件。可能会有大量的样板文件初始化以及初始化所有全局静态对象。例如,在以下示例中,函数在输入main之前运行:
int SomeGlobal = SomeFunction();
int main (void)
{
...
}
- 从一个空的或“hello world”CLR项目开始,确保它编译并运行
- 使用boost尝试一个简单的示例,看看它是否有效或者重复了这个问题
- 尝试清理并完全重建应用程序
可能来自CString析构函数。确保所有字符串都迁移到托管系统字符串pUserData
- 如果您使用的是简单的示例,那么这就是添加到示例中直到复制问题,或者从应用程序中删除内容直到问题消失的问题
- 我知道已经很晚了,但我发现这个问题是因为我有同样的问题
查看我正在工作的另一个项目(不是我的),我发现问题来自文件:
opencv\u ts248d.lib
。如果您将其从依赖项中删除,它将正常工作(我不知道为什么,猜测问题出在属于它的函数中),因此您将有以下问题:
opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_ml248d.lib
opencv_nonfree248d.lib
opencv_objdetect248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_video248d.lib
opencv_videostab248d.lib
(我只是把它们都包括进来,没有把重点放在我需要的东西上,除了导致问题的那一个)
希望对你有帮助