c++c++builderatlc++builder-xe7

How to properly include ATL into Embarcadero project


I've been given a legacy Visual C++ project that I need to compile in Embarcadero RAD Studio XE7, but I have a problem with building it. For now, I have a problem with ATL libraries, which are needed for some components of the project:

Generally, the question is, how do I properly configure my C++Builder project for ATL, and where do I obtain the correct version of the headers? For example, for the boost headers, the problem was solved very easy (build proper version and add path to headers to -I directive).


Solution

  • Embarcadero dropped support for ATL in C++Builder XE, replacing ATL with the Delphi ActiveX framework (DAX). In order to use ATL in C++Builder projects in XE and later, you need to obtain ATL support files (headers and library binaries) from an earlier C++Builder version, you can't use the ones from Visual Studio. If you don't have access to an older C++Builder version, then you will have to forget about ATL and migrate the project to DAX instead.