繁体   English   中英

为什么Delphi Command Line给我不同的IDE输出?

[英]Why is Delphi Command Line giving me a different output to the IDE?

自从我搬到了Delphi 10 Seattle之后,我的构建机器出现了问题。 尽管在构建计算机上使用MSBuild并设置了正确的配置,但构建计算机仍会产生与IDE不同的结果。 它在我的机器上执行相同的操作,因此与机器上的任何内容都不相关。 到目前为止,我可以看到的差异是:

  1. 可执行文件大小不同。 39MB的命令行MSBuild,35MB的IDE版本。
  2. 我在命令行产生的可执行文件中收到整数溢出错误,而IDE中的可执行文件却没有发生此错误。 显然,它们是两个不同的可执行文件。
  3. 在IDE中内置的COM DLL为22mb,而在命令行上构建的则为59mb。 进一步的调查表明,它实际上是在版本配置中关闭的DLL DESPITE调试信息中添加调试信息。 如果在单独的TDS文件中设置了“放置调试信息”,那么我将获得相同的22mb文件和36mb TDS文件。这证明了两件事。正在添加调试信息,并且我具有正确的配置,因为此更改会产生影响。

rsvars和MSBUILD / target:build / p:config =发布/ p:platform = win32 project.dproj

标记为重复的问题并不能真正回答问题,只是提示了要看的内容。

问题是DProj文件损坏。 它是如何损坏的很难说。 但是,很明显,正在设置几个不在配置中的命令行选项。 它们似乎也从DCC32命令行MSBuild吐出了,但是我开始怀疑我是否只是想念他们。 该项目最初可能至少是Delphi 6,所以一直在不断升级。 要解决此问题,我删除了所有DPROJ,BDSPROJ和CFG文件,仅保留了dpr文件。 然后在Delphi 10 Seattle中打开dpr文件,该文件创建了新的dproj文件。 我重置了条件定义,搜索路径以及想要的编译器和链接器选项,中提琴,一切恢复正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM