atlbase.h

  • Revision slug: atlbase.h
  • Revision title: atlbase.h
  • Revision id: 66117
  • Created:
  • Creator: khuey
  • Is current revision? No
  • Comment 34 words added, 16 words removed

Revision Content

This page is linked from the build system. Do not remove it without making sure it links to useful information for building Firefox 3

atlbase.h is a header file which is provided by the Microsoft Active Template Library.

The error "System header atlbase.h is not available" indicates that you do not have a copy of ATL in your INCLUDE directory. There are several ways you can solve this problem:

Use the Professional Version of Microsoft Visual C++

The professional version of Microsoft Visual C++ comes with ATL headers.

Use the Windows 2003 SDK

The Windows 2003 SDK is a free download and is the last version of the Windows SDK to come with ATL headers.

NOTE: The Windows 2008 SDK, which the 2003 SDK page points you to, doesn't have the ATL headers.

Unfortunately, the Windows 7 SDK is required to build Mozilla normally, because of dependencies on Vista and Windows 7-specific APIs. MozillaBuild 1.4 and above will allow you to use both the Windows 7 SDK and an older Platform SDK to work around this issue.

You should restart start-msvcX.bat after installing the Windows 2003 SDK.

Disable code that uses ATL

ATL is used by only a small portion of our codebase. You should be able to disable these features and do a build without ATL:

ac_add_options --disable-accessibility
Note that xpconnect-idispatch and activex features (that are off by default) rely on atlbase.h as well, so you should not turn those on unless atlbase.h is present.
Note: Some versions of atlbase.h add atlthunk.lib to the list of default libraries. The mozillabuild environment provides a compatible version of atlthunk.lib for you.

Revision Source

<p><span class="comment">This page is linked from the build system. Do not remove it without making sure it links to useful information for building Firefox 3</span></p>
<p>atlbase.h is a header file which is provided by the Microsoft Active Template Library.</p>
<p>The error "System header atlbase.h is not available" indicates that you do not have a copy of ATL in your INCLUDE directory. There are several ways you can solve this problem:</p>
<h4 name="Use_the_Professional_Version_of_Microsoft_Visual_C.2B.2B">Use the Professional Version of Microsoft Visual C++</h4>
<p>The professional version of Microsoft Visual C++ comes with ATL headers.</p>
<h4 name="Use_the_Windows_2003_SDK">Use the Windows 2003 SDK</h4>
<p>The Windows 2003 SDK is a <a class="external" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&amp;displaylang=en">free download</a> and is the last version of the Windows SDK to come with ATL headers.</p>
<p>NOTE: The Windows 2008 SDK, which the 2003 SDK page points you to, doesn't have the ATL headers.</p>
<div class="note">Unfortunately, the Windows 7 SDK is required to build Mozilla normally, because of dependencies on Vista and Windows 7-specific APIs. MozillaBuild 1.4 and above will allow you to use both the Windows 7 SDK and an older Platform SDK to work around this issue.</div>
<p>You should restart start-msvcX.bat after installing the Windows 2003 SDK.</p>
<h4 name="Disable_code_that_uses_ATL">Disable code that uses ATL</h4>
<p>ATL is used by only a small portion of our codebase. You should be able to disable these features and do a build without ATL:</p>
<pre class="eval">ac_add_options --disable-accessibility
</pre>
<div class="note">Note that xpconnect-idispatch and activex features (that are off by default) rely on atlbase.h as well, so you should not turn those on unless atlbase.h is present.</div>
<div class="note">Note: Some versions of atlbase.h add atlthunk.lib to the list of default libraries. The mozillabuild environment provides a compatible version of atlthunk.lib for you.</div>
Revert to this revision