制作exe文件时VB6卡住

标签 vb6 makefile exe freeze tmp

我正在用 VB6 编写一个项目。我正在使用 Win7-32​​ 位并且项目有问题,这个项目是多年前写的,现在我正在重新编译它。当我发出 Make xxx.exe 命令时,VB6 开始编译并卡住并创建超过 10,000 个 *.tmp 文件,几分钟后它关闭 IDE 并且没有任何结果。 我的错在哪里?

最佳答案

解决我在编译大型可执行项目时 VB6 卡住问题的方法是将 VB 应用程序的 CPU 内核限制为只有一个内核(即,将 VB6 进程的关联掩码设置为 1)。

请注意,仅当 VB6 进程以关联掩码设置为 1 时才对我有效,而不仅仅是在 VB 进程启动后强制执行关联掩码(在任务管理器中)。 要在关联掩码设置为 1 的情况下启动 VB6,请使用以下快捷方式(分别适用于 64 位和 32 位操作系统)并以管理权限启动它:

C:\Windows\System32\cmd.exe/C start "VisualBasic6"/D "C:\Program Files (x86)\Microsoft Visual Studio\VB98"/AFFINITY 1 "C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE"

C:\Windows\System32\cmd.exe/C start "VisualBasic6"/D "C:\Program Files\Microsoft Visual Studio\VB98"/AFFINITY 1 "C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE"

如果这不起作用,请尝试使用上述方法在 VB6 IDE 之外创建您的项目。例如,假设您需要在路径 C:\MyProjects\TestProj 中构建一个名为 testproj.vbp 的项目,请在提升的命令提示符中使用以下命令(分别适用于 64 位和 32 位操作系统):

启动 "VisualBasic6"/D "C:\Program Files (x86)\Microsoft Visual Studio\VB98"/AFFINITY 1 "C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.EXE"/make "C:\MyProjects\TestProj\testproj.vbp"/outdir "C:\MyProjects\TestProj"

开始 "VisualBasic6"/D "C:\Program Files\Microsoft Visual Studio\VB98"/AFFINITY 1 "C:\Program Files\Microsoft Visual Studio\VB98\VB6.EXE"/make "C:\MyProjects\TestProj\testproj.vbp"/outdir "C:\MyProjects\TestProj"

很遗憾,VB6 并没有提示编译已经完成,所以您需要在任务管理器中跟踪 VB6 进程(当编译完成时,VB6 进程将终止)。

仅供引用,我在具有 2 个 Intel Xeon 四核 CPU 的 Windows Server 2012 上运行 VB。

关于制作exe文件时VB6卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18744887/

相关文章:

c# - 将 advapi32.dll 加密调用转换为 .NET

ubuntu - 我想将 makefile 的编译器从 pgi 更改为 gfortran,我想知道如何更改 FC 和 FFLAGS 以使其工作

python - 如何将linux应用程序编译成win *.exe文件

C# 在窗体面板中打开其他程序

vb6 - 无需安装 VB6 即可运行 VB6 应用程序

error-handling - 什么导致VB6 "Run-Time Error ' 5': Invalid Procedure Call or Argument"

c++ - C++ 实现代码中的字符串不应出现在输出二进制文件中。怎么修

python - .exe去其他地方后消失了

vb6 - 安装VB6-无法创建DCO​​M用户帐户的错误

openssl - 支持 FIPS 的 OpenSSL 和 `make depend`