【问题标题】:How to properly include ATL into Embarcadero project如何正确地将 ATL 包含到 Embarcadero 项目中
【发布时间】:2019-12-07 19:37:01
【问题描述】:

我收到了一个需要在 Embarcadero RAD Studio XE7 中编译的旧版 Visual C++ 项目,但我在构建它时遇到了问题。目前,我对项目的某些组件所需的 ATL 库有疑问:

  • 我已经将所有 ATL 文件从 include/atl 复制到 windows/sdk/atl

  • 该项目需要atlsafe.h。我已经安装了具有这些标头的 Visual Studio 2013,但我确实了解如何正确使用它们。如果我将atlsafe.h 复制到windows/sdk/atl,我开始收到很多与过时的atlbase.h 有关的错误。替换 atlbase.h 后,我开始收到更多错误(预期),等等。

一般来说,问题是,如何为 ATL 正确配置我的 C++Builder 项目,以及从哪里获得正确版本的标头?例如,对于 boost 标头,问题很容易解决(构建正确的版本并将标头的路径添加到 -I 指令)。

【问题讨论】:

    标签: c++ c++builder atl c++builder-xe7


    【解决方案1】:

    Embarcadero dropped support for ATL in C++Builder XE,将 ATL 替换为 Delphi ActiveX 框架 (DAX)。为了在 XE 及更高版本的 C++Builder 项目中使用 ATL,您需要从早期的 C++Builder 版本中获取 ATL 支持文件(头文件和库二进制文件),您不能使用 Visual Studio 中的支持文件。如果您无法访问较旧的 C++Builder 版本,那么您将不得不忘记 ATL,而是将项目迁移到 DAX。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-25
      • 2016-07-28
      • 2012-06-10
      • 1970-01-01
      • 2016-02-18
      相关资源
      最近更新 更多