1

当我尝试在控制台中编译 EmbeddedWB 时,它抱怨一些 OleCtrls 单元。然而,普通的 Webbrowser 可以毫无问题地编译。

如何在Console下编译?

[dcc64 Fatal Error] SHDocVw_EWB.pas(66): F1026 File not found: OleCtrls.dcu'

4

1 回答 1

2

问题是单位范围名称。默认情况下,控制台应用程序具有与表单应用程序不同的单元命名空间别名。通过以下任一方式解决问题:

  1. 使用完全限定的单位名称。该单元的全名是 Vcl.OleCtrls。
  2. 将缺少的单元范围名称(在您的情况下为 Vcl)添加到控制台应用程序的项目配置中。

由于您正在编译第三方代码,因此您最好不要修改该第三方代码。因此,选项 2 是前进的方向。

可能需要其他单位范围名称。确保将它们全部添加。并确保您使用的是从 VCS 存储库获得的组件的最新源代码,并仔细检查它是否确实支持 XE4。

请注意,我的假设是控制台是指控制台应用程序。如果您实际上是指命令行编译,那么答案仍然基本相同。您需要确保在编译时指定了单位范围名称。通常这将在项目配置中完成,msbuild 会提取它们并将它们传递给 dcc32 或 dcc64。

于 2013-08-23T10:48:57.517 回答