您必须从早期版本的BDS [$(BDS)include ATL *复制ATL文件.*]使用ATL

You must copy ATL files from an earlier version of BDS [$(BDS)includeatl*.*] to use ATL?

本文关键字:ATL BDS include 复制 使用 文件 版本      更新时间:2023-10-16

我正在使用embarcadero c++ XE8 32位。当我包含以下文件时:

#include<ATLBASE.h>
#include<UTILCLS.h>
#include<opcda.h>
#include<DataCallBackSink.cpp>

我得到以下错误:

[bcc32 Fatal Error] atlbase.h(5): F1003 Error directive: You must copy ATL files from an earlier version of BDS [$(BDS)includeatl*.*] to use ATL

当我打开文件时,我会看到下面的文字:

// CBuilderXE does not include ATL files as we were unable to secure a license
// For C++ ActiveX development you can now use the DAX (Delphi ActiveX) Framework
// Alternately, you may copy the ATL files from an earlier version of C++Builder
//   $(BDS)includeatl*.*   --->   $(BDS)includewindowssdkatl
#error You must copy ATL files from an earlier version of BDS [$(BDS)includeatl*.*] to use ATL

我将文件直接添加到我的程序中,并使用名为includeATL*文件名*的映射

我想,当我将这些文件复制到windowssdkatl目录时,它会工作,但它没有

以前有人遇到过这个错误吗?如果你解决了,你是怎么解决的?

除了包含文件之外,还需要复制一个.lib文件。你可以从这里下载。

如果问题仍然存在,请确保项目选项中的搜索路径是正确的。