gpt4 book ai didi

delphi - 为什么 Delphi 命令行为我提供了与 IDE 不同的输出?

转载 作者:行者123 更新时间:2023-12-02 05:53:48 25 4
gpt4 key购买 nike

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

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

rsvars & MSBUILD/target:build/p:config=Release/p:platform=win32 project.dproj

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

最佳答案

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

关于delphi - 为什么 Delphi 命令行为我提供了与 IDE 不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36084825/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com