mozilla

Revision 66118 of atlbase.h

  • Revision slug: atlbase.h
  • Revision title: atlbase.h
  • Revision id: 66118
  • Created:
  • Creator: Natch
  • Is current revision? No
  • Comment 67 words added

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.

Note: If you encounter an error that atlbase.h cannot be found and you have installed Visual Studio 10 Express together with the platform SDK, you may have to delete a registry entry so that guess-msvc.bat doesn't detect VC10 installed. The key is HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\Setup\VC.

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>
<p>Note: If you encounter an error that atlbase.h cannot be found and you have installed Visual Studio 10 Express together with the platform SDK, you may have to delete a registry entry so that guess-msvc.bat doesn't detect VC10 installed. The key is HKLM\SOFTWARE\Microsoft\VisualStudio\10.0\Setup\VC.</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