[llvm-bugs] [Bug 42591] New: LLVM doesn't compile with Visual Studio 2017 Express edition: missing atlbase.h

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jul 11 12:03:22 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=42591

            Bug ID: 42591
           Summary: LLVM doesn't compile with Visual Studio 2017 Express
                    edition: missing atlbase.h
           Product: Build scripts
           Version: 8.0
          Hardware: PC
                OS: Windows XP
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: autoconf
          Assignee: unassignedbugs at nondot.org
          Reporter: mike.riepe at gmail.com
                CC: llvm-bugs at lists.llvm.org

I ran into an issue when attempting to compile LLVM on Windows 10 using the
Visual Studio 2017 Express edition.  Express edition does not come with ATL
support, and several files have a dependency on atlbase.h.

It is possible to install ATL for 2017 as part of the Visual Studio Build Tools
["C++ ATL for for v141 build tools (x86 & x64)"].  But only Build Tools 2019 is
available, and the ATL header/lib files get installed in the "C:\Program Files
(x86)\Microsoft Visual Studio\2019" not "...2017" directory.  The CL compiler
can't find them in that non-standard location.

This problem is fixed by using Visual Studio 2017 Community Edition or higher,
which have ATL support build-in.  But unfortunately the Express edition is the
only version that allows for free commercial use.

Is it possible to make LLVM independent of ATL when it's not available?  If no,
I suggest you modify your Getting Started guide
(https://llvm.org/docs/GettingStarted.html) to mention that VS Express Edition
is not supported.

Compile log snip...

C:\build\2017\llvm>cmake --build . --config Release
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

etc...

  DIAEnumSourceFiles.cpp
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIAEnumFrameData.c
pp) [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIADataStream.cpp)
 [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIAEnumDebugStream
s.cpp) [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIAEnumInjectedSou
rces.cpp) [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIAEnumSectionCont
ribs.cpp) [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIAEnumLineNumbers
.cpp) [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
v:\llvm-project\llvm\include\llvm\debuginfo\pdb\dia\DIASupport.h(25): fatal
error C1083: Cannot open include file: 'atl
base.h': No such file or directory (compiling source file
V:\llvm-project\llvm\lib\DebugInfo\PDB\DIA\DIAEnumSourceFiles
.cpp) [C:\build\2017\llvm\lib\DebugInfo\PDB\LLVMDebugInfoPDB.vcxproj]
  DIAEnumSymbols.cpp

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190711/6de92e40/attachment.html>


More information about the llvm-bugs mailing list