C ++ #include <atlbase.h> не найден - PullRequest
       35

C ++ #include <atlbase.h> не найден

29 голосов
/ 10 октября 2010

Когда я компилирую свою программу на C ++ в Visual Studio Express, она говорит, что не может найти atlbase.h. Мне не хватает SDK или чего-то еще?

Ответы [ 8 ]

35 голосов
/ 24 января 2012

Он входит в комплект Windows Driver Kit 7.1.0 .

23 голосов
/ 19 сентября 2017

Visual Studio 2017

При запуске установщика Visual Studio выберите вкладку Отдельные компоненты и в разделе SDK, библиотеки и инфраструктуры убедитесь, что Visual C ++ ATL Support выбран.VS Installer Visual C++ ATL Support selected

12 голосов
/ 10 октября 2010

Microsoft ATL (Active Template Library), которая включает в себя заголовок atlbase.h, входит в состав Windows 2003 SDK , но не входит ни в одну новую версию Windows SDK. Он также включен в Профессиональные выпуски Visual Studio.

4 голосов
/ 15 июня 2017

Для пользователей Visual Studio 2015 убедитесь, что установлены Common Tools for C ++ (часть установщика VS).

3 голосов
/ 27 июля 2018

Решение для Visual Studio 2017 Express edition

У меня была такая же ошибка при создании проекта COM C ++ в Visual Studio 2017 Express edition.Как уже упоминалось здесь несколькими пользователями, поддержка ATL не включена в Express-версию Visual Studio.Поэтому для создания проекта C ++ COM / ATL вам потребуется, по крайней мере, Community Edition .

. Если вам действительно нужно использовать Express Edition, вы можете загрузить и установить Build Tools.для Visual Studio 2017 .Обязательно включите компонент Visual C ++ ATL для x86 и x64 во время установки.

После этого добавьте дополнительные каталоги VC ++ в свойствах проекта:

  • Включите каталоги: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\atlmfc\include
  • Библиотечные каталоги: C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Tools\MSVC\14.14.26428\atlmfc\lib\x86

Компилятор VC ++ теперь должен находить исходный файл и файлы библиотеки ATL.

1 голос
/ 19 апреля 2018

Ситуация

В Visual Studio 2017 Community Edition мы установили «поддержку Visual C ++ ATL» и поддержку MFC и ATL.Ошибка все еще произошла в нашем проекте x64.

Решение

Мы исправили некоторые пути с помощью следующих двух команд:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>mklink /d atlmfc "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc"
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\lib>mklink /d amd64 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\lib\x64

Подробности

Мы в конечном итогенашел заголовок atlbase.h в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\include.Этот путь просто не был добавлен в каталог VC Include с помощью vsvars32.bat, поэтому заголовок не был найден при сборке.

vsvars32.bat содержит следующую строку:

@if exist "%VCINSTALLDIR%ATLMFC\INCLUDE" set INCLUDE=%VCINSTALLDIR%ATLMFC\INCLUDE;%INCLUDE%`.

Это решенона C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\atlmfc\include на нашем компьютере.

Мы создали соединение каталогов, поэтому инструмент сборки находит atlbase.h в ожидаемом каталоге (это первая команда из приведенного выше раздела «Решение»):

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>mklink /d atlmfc "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc"

После этого компоновщик не нашел atls.lib (см. Невозможно открыть файл atls.lib ).Это произошло из-за ожидаемой структуры файла: lib должен содержать версию libs для x86, а lib\amd64 должен содержать варианты x64.Вместо этого lib\x86 содержал версии x86, а lib\x64 содержал 64-разрядные версии.Поскольку мы строим 64-битный проект, создание другого мусорного каталога из amd64 в x64 решило проблему:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\lib>mklink /d amd64 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\atlmfc\lib\x64
1 голос
/ 10 октября 2010

Это, похоже, часть Windows Platform SDK .

Вам необходимо найти файл на вашем компьютере. Это скажет вам, если вы пропустите это.

0 голосов
/ 28 февраля 2013

У меня была такая же проблема с примером проекта.Я указал свойства примера проекта и пример проекта успешно скомпилирован.

Visual Studio 8
Для заголовка
C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\include

Для .lib Файл
C:\Program Files\Microsoft Visual Studio 8\VC\atlmfc\lib

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...