0

我最近在 BDS2006 上为 Delphi 和 C++ 特性安装了 Zeos 6.6 stable。

为了做到这一点,并且由于 Zeos 是用 Delphi 编写的,我在构建包时检查了“生成所有 C++ Builder 文件”。

我发现的问题是,不知何故,并非所有必要的 .DCU都是在构建不同包的过程中生成的。我最终解决了这个问题,首先只为 Delphi 构建(完美运行),然后为 Delphi 和 C++ 重新构建。

现在,我不确定这是否是一个错误(在Quality Central或 Google 中没有找到任何类似的东西)或者它也只影响 BDS2006 或其他 IDE。所以,问题是:任何人都可以告诉我,当“生成所有 C++ 生成器文件”被选中时,什么可能导致编译器构建所有的 .DCU,但在没有的时候这样做?

提前致谢并致以最诚挚的问候

4

1 回答 1

0

这是我在Zeos 论坛上写的一篇关于我如何解决这个问题的文章的摘录。希望它可以帮助别人。

  • 注意:这可能适用于或不适用于 BDS2005、RAD2007 和其他 IDE 版本。我无法测试它,因为我没有安装。

  • 免责声明:这些步骤可能不是最准确或最有效的。请随时评论您发现的任何错误或问题,我会更新帖子。

  • 免责声明 2:这些步骤意味着在某一时刻篡改了注册表。它适用于我的系统,但可能不适用于您的系统。风险自负。

通过以下步骤,我设法为 Delphi 和 C++ 个性安装了 Zeos:

  1. 摆脱任何先前的 Zeos 安装。这包括您可以找到的任何 Zeos .BPL、.DCU 和 .LIB。
  2. 将 Zeos 解压到您的选举目录。
  3. 打开BDS2006,选择Delphi10的包,编译所有包。这样,我们将拥有所有 .DCU。由于某种原因,并非所有这些都在步骤 6 中正确创建(见下文)。
  4. 关闭 BDS2006。在第 5 步之前执行此操作非常重要。
  5. 删除C++ 中未出现的 Delphi 包中指示的注册表项
  6. 打开北斗系统2006。再次打开 Delphi10 的包组。对于所有包,请转到 Options->Linker 并选择“Generate all C++ Builder Files”。再次编译它们。如果它抱怨 {$ENDIF;} 只需将其删除。如果在编译 Component.bpl 或 ComponentDesign.bpl 时,编译器抱怨一些 .DCU,应该通过将 Build 目录(所有包都内置到该目录)添加到包的搜索路径来解决。
  7. 安装 componentDesign.bpl
  8. 在 Tools-Option 中为 C++ 和 Delphi 个性添加必要的 BDS 路径:
    • packages\delphi10 // 这里有一些头文件
    • packages\delphi10\build // 一些 .dcu
    • 源\组件
    • 源\核心
    • src\dbc
    • src\parsesql
    • 源\普通

仅供参考,您在步骤 5 中需要的密钥如下:

  • 键:HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Known Packages。查找带有 [path]\MyPackage.bpl 的条目并将其删除。
  • 键:HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Package Cache。查找名为 MyPackage.bpl 的键并删除整个子键。
  • 键:HKEY_CURRENT_USER\Software\Borland\BDS\5.0\Palette\Cache。查找名为 MyPackage.bpl 的键并删除整个子键。BDS 中有一个错误会在编译时影响包。有关更多信息,请参阅提到的博客。

你应该已经安装了 Zeos 并且现在可以为 Delphi 和 C++ 工作了。

注意:在 C++ 中编译时,它可能会给您一个错误,因为它找不到一些 .h。通常这可以通过将#include 更改为.hpp 来解决。

于 2010-11-27T19:20:45.237 回答