在64位上通过控制台(vb.exe)兼容性问题编译VB6(适用于32位?)

时间:2013-12-18 17:59:45

标签: vb6

我正在使用

    cd C:\Program Files (x86)\Microsoft Visual Studio\VB98
vb6.exe /make Project1 /out %1

基本上编译我的应用程序,我遇到兼容性问题( Saying对我的Windows类型不起作用)。

使用在我的机器上完美运行的VB6 IDE(Make .exe)进行编译时,这不是,有人知道如何解决这个问题吗?感谢

尝试打开可执行文件时收到错误:“此文件的此版本与您正在运行的Windows版本不兼容。请检查计算机的系统信息,以确定是否需要x86 32位或x64 64该程序的位版本,联系软件发行商“。

&安培;这是一个标准的EXE应用程序

我尝试以管理员身份运行它,解决/更改与 Windows XP Service Pack 2& 3 ,仍然无法正常工作。

工作更喜欢对此有一个好的解决方法,比如我可以通过控制台作为选项或某事或某些选项或其他任何东西。

干杯!请尽快帮助

2 个答案:

答案 0 :(得分:1)

根据评论中的讨论,我相信这里的答案如下(由GSerg确定):

问题是您在命令行上使用/make开关。关于/out

documentation说明了这一点
  

与/ make或/ makedll开关一起使用时,会将错误输出到文件中。

因此,如果您使用vb6.exe /make Project1 /out Project1.exe,那么Project1.exe实际上是一个包含编译器错误输出的文本文件,因此即使它具有.exe扩展名也不会是实际的可执行文件。 / p>

使用/make时,实际上没有指定输出二进制文件。运行VB6.exe /?的帮助输出更加明确:

  

告诉Visual Basic编译projectname并生成可执行文件   从中,使用存储在项目文件中的现有设置。

VB会记住您在IDE中用于编译项目的最后一个文件名和目录,并将其存储在.vbp文件中:

ExeName32="Project1.exe"
Path32="..\output"

答案 1 :(得分:0)

我使用批处理文件来处理此问题。它设置路径以包括32位和64位版本的Program Files目录。然后只需引用'vb6.exe',将从您的路径中提取正确的。

set PATH=c:"\Program Files (x86)\Microsoft Visual Studio\VC98\bin"
set PATH=%PATH%;c:"\Program Files (x86)\Microsoft Visual Studio\VB98"
set PATH=%PATH%;c:"\Program Files\Microsoft Visual Studio\VC98\bin"
set PATH=%PATH%;c:"\Program Files\Microsoft Visual Studio\VB98"
vb6 /m foobar.vpb