Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows Vista 64位下使用Delphi 2009从命令行编译_Delphi_Windows Vista_Delphi 2009_Win64 - Fatal编程技术网

在Windows Vista 64位下使用Delphi 2009从命令行编译

在Windows Vista 64位下使用Delphi 2009从命令行编译,delphi,windows-vista,delphi-2009,win64,Delphi,Windows Vista,Delphi 2009,Win64,是否有人在64位Windows Vista下使用命令行dcc32.exe编译器在未安装Delphi 2009的情况下成功编译了Win32 GUI应用程序?在我们的系统上,它失败了,并显示一条消息,表明DFM文件包含未知的16位资源。这通常表示无法读取DFM文件。它在我们尝试过的所有32位Vista和Windows XPs上都能完美工作 我这样问是因为我们想确保以后可以在需要时重建当前的exe文件,所以即使将来我们都切换到64位操作系统,我们也希望能够重建2009年的旧版本。对于Delphi 20

是否有人在64位Windows Vista下使用命令行dcc32.exe编译器在未安装Delphi 2009的情况下成功编译了Win32 GUI应用程序?在我们的系统上,它失败了,并显示一条消息,表明DFM文件包含未知的16位资源。这通常表示无法读取DFM文件。它在我们尝试过的所有32位Vista和Windows XPs上都能完美工作


我这样问是因为我们想确保以后可以在需要时重建当前的exe文件,所以即使将来我们都切换到64位操作系统,我们也希望能够重建2009年的旧版本。

对于Delphi 2009,您应该使用msbuild命令行编译您的项目(msbuild YourProject.dproj)。请确保从RAD Studio命令提示符执行此操作。这确保设置了一些环境变量。这是否解决了您的问题?

是的,我们正在Vista 64位和Windows 2008 64位中通过nant通过dcc32执行控制台构建。如果安装到默认位置(我们不打算删除这些类型的依赖项),您可能需要处理(X86)中的一些路径问题。

添加lnkdfm120.dll解决了问题。

当lnkdfm50.dll不在bin目录中时,我看到了Delphi 5的类似消息。我会先在Dependes.exe(MSFT Dependency Walker)或其中一个Sysinternal工具下运行构建,以检查所有必要的DLL(即使是动态加载的DLL)是否都在那里。是否不安装Delphi?为什么你要对自己施加限制?对于Rob:我们想确保,我们将来可以编译源代码,即使Delphi 2009不能在未来的Windows版本上安装自己。添加lnkdfm120.dll解决了这个问题,谢谢:-)@Lars:那么,你可能应该添加一个答案来解释如何使其工作,并接受它。有相同问题的人发现这个问题不一定会阅读评论。由于Delphi运行这种“脑死亡”激活方案,可能有一段时间人们需要以这种方式运行编译器。我们不会将.dproj文件保存到源代码存储库中,因此这似乎不是一个简单的解决方案。哇。你开始这样做怎么样?你听起来好像在“像使用delphi 7一样使用delphi 2009”中陷入僵局。我认为这是在DelphiDeveloper 7.0上安装service pack将其升级到12.0的失败。dproj文件中充满了有价值的设置。如果您不打算使用.dproj文件保存这些设置,那么您可能应该继续在Delphi7中进行命令行构建。