当前位置:科技动态 > vs2010编译ise_Qt编译错误out of memory allocation 1073745919 bytes - CSDN博客

vs2010编译ise_Qt编译错误out of memory allocation 1073745919 bytes - CSDN博客

  • 发布:2023-10-01 21:14

这个错误也是“编译器堆空间不足”。

由于资源文件qrc太大,超出了分配的内存范围,所以编译时打开任务管理器时,会发现内存飙升。

可以添加到pro文件中:

CONFIG+=resources_big

参考链接:

http://www.sychzs.cn/questions/39236670/compiling-10mb-resource-files-with-qrc-in-cmake-results-in-heap-space-allocatio

原创不易,转载请注明出处:https://www.sychzs.cn/caoshangpa/article/details/53965017

用VS2008打开过去的项目时。您可能会遇到很多警告:警告C4996。例如:警告 C4996:'fopen':此函数或变量可能不安全。考虑使用 fopen_s 代替。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。详情请参见在线帮助。警告 C4996:“sprintf”:此函数或变量可能不安全。考虑使用 sprintf_s 代替。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。原因是 Visual C++ 2005 使用更安全的运行时库例程。新的安全 CRT 函数(带有“_s”后缀的函数): ?那么如何处理这些警告: 方法一:用新的Security CRT函数替换原来的旧函数。方法2:使用以下方法阻止此警告。 1. 在预编译头文件stdafx.h中定义以下宏(注意:必须在包含任何头文件之前): ? ? ?#define _CRT_SECURE_NO_DEPRECATE 2. #param warning(disable:4996) 3. 更改预处理定义: ? ? ?项目->属性->配置属性->C/C++->预处理器->预处理器定义,添加_CRT_SECURE_NO_DEPRECATE?方法3:方法2没有使用新的更安全的CRT功能,显然这不是推荐的方法,但是你又不想一一改变,所以有一个更方便的方法:? ? ?在预编译头文件 stdafx.h 中定义以下内容(也在包含任何头文件之前)宏: ? ? ?#define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1 ? ? ?链接时旧功能将自动替换为Security C实时功能。

注意:该方法虽然使用了新函数,但并不能消除警告(原因见红字)。必须同时使用方法2

原文链接(http://www.sychzs.cn/zealot886/item/c52faffea15b5750c8f3370b)

最后,我给我写的小游戏做个广告,一个释放你压力的小游戏,一个敢于告诉它动起来的小游戏。你敢尝试一下吗?

点击下载,或在Google Play商店搜索Make a Noise

当我从flash导出swc文件,然后在flex中使用时,一开始运行正常。然而,当我删除并重新创建组件并重新生成swc文件时,flex中出现了问题:

VerifyError:错误 #1107:ABC 数据已损坏,尝试的读取操作超出范围。 ???在 flash.display::MovieClip/nextFrame()???在 mx.managers::SystemManager/deferredNextFrame()[C:/autobuild/3.2.0/frameworks/projects/framework/src/mx/managers/ www.sychzs.cn:319]???在 mx.managers::SystemManager/preloader_initProgressHandler()[C:/autobuild/3.2.0/frameworks/projects/framework/src/mx/managers/www.sychzs.cn:2945]? ?在 www.sychzs.cn::EventDispatcher/dispatchEventFunction()???在 www.sychzs.cn::EventDispatcher/dispatchEvent()???在 mx.preloaders::Preloader/timerHandler()[C:/autobuild/3.2.0/frameworks/projects/framework/src/mx/preloaders/www.sychzs.cn:398]???在 flash.utils::Timer/_timerDispatch()???在 flash.utils::Timer/tick()

源文件:

???

flash源文件:

包{???导入 flash.display.Sprite;???导入 flash.display.MovieClip;???导入 mx.flash.UIMovieClip;???导入 flash.display.Shape;???公共类 Main 扩展 UIMovieClip ??? {??? ??? private var shape:Shape = new Shape();??? ??? ??? ???公共函数Main()??? ??? {?? ??? ??? ??? this.addChild(形状);??? ??? ???绘制形状();??? ??? }??? ??? ??? ???公共函数drawShape():void??? ??? {??? ??? ??? shape.graphics.lineStyle(2,0xff0000);??? ??? ???与(形状.图形)??? ?? ? ??? {??? ??? ??? ???开始填充(0x00ff00);??? ??? ??? ???画圆(100,100,70);??? ??? ??? ???结束填充();??? ??? ??? }??? ??? }

??? }}

flv中只有一个mc,将其转换为flex组件。根据提示,应该是: 该错误表明SWF中的ActionScript无效。但还是想不通!

相关文章