фатальная ошибка C1083: не Может открыться включают файл: 'Windows.h': и сканирования

Обратите внимание, что в 6.6 введены отдельные разрешения для объектов BuildInfo. Пожалуйста, установите эти разрешения вручную (так как они новые), и это должно решить проблему. Подробнее в Замечания к выпуску Artifactory 6.6 .

8
задан Glorfindel 10 February 2019 в 22:38
поделиться

6 ответов

Используя вышеупомянутые рекомендации не будет работать со сканированиями: сканирования не импортируют пользовательскую среду (ПУТЬ и другие переменные). Фундаментальная проблема состоит в том, что сканирования не обрабатывают последние версии SDKs/VS.

Я - случайный участник сканирований и работаю над этой функцией ATM. Хотелось бы надеяться, это будет скоро включено на сканированиях, но опцию намного более трудно реализовать надежно, чем я сначала ожидал, частично потому что каждая sdk/compiler комбинация отличается (и иногда даже MS не разбирается в нем, некоторые их .bat файлы повреждаются), таким образом, я не могу дать Вам дату. Я надеюсь, что это будет включено в 1,2 (чтобы быть выпущенным приблизительно через один месяц).

8
ответ дан 5 December 2019 в 13:02
поделиться

Необходимо установить включать путь к файлу (и возможно другие вещи). В командной строке это обычно делается с помощью пакетного файла та Visual Studio названные установки vsvars32.bat (или vcvars32.bat для совместимости с VC6).

Я не знаком со сканированиями, таким образом, я не знаю лучший способ настроить эти настройки для того инструмента, но для стандартных make-файлов обычно существует строка в make-файле, который устанавливает макро-переменную с включать путем к каталогу и что макрос используется в качестве части параметра командной строки в команде, которая вызывает компилятор.

Другая возможность могла бы состоять в том, чтобы иметь процесс сканирований, вызывают vsvars32.bat или запускают скрипт сканирований из командной строки, которая была настроена с пакетным файлом.

Короче говоря необходимо получить вещи, которые vsvars32.bat настраивает в конфигурацию сканирований так или иначе.

3
ответ дан 5 December 2019 в 13:02
поделиться

Будет пакетный файл, подобный этому (для MSVC 2005), который настраивает переменные среды:

c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat

Шаг 1: Найдите подобный файл в папках установки Экспресса

Шаг 2: Создайте ярлык на рабочем столе с этими целевыми деталями и соответственно измененным путем:

cmd.exe /K "c:\Program Files\Microsoft Visual Studio 8\Common7\Tools\vsvars32.bat"

Шаг 3: Откройте командную строку DOS через этот ярлык

Сборка командной строки должна теперь работать из этой консоли.

2
ответ дан 5 December 2019 в 13:02
поделиться

Это работает на меня при компиляции wxwidgets с Экспрессом Visual C++ 2005 года с помощью приглашения командной строки:

REM Fix Error error C1083 'windows.h'

(Используйте/useenv опцию при компиляции.)

set PDSKWIN=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2

(Изменитесь на правильный.)

set INCLUDE=%PDSKWIN%\Include;%INCLUDE%

set LIB=%PDSKWIN%\Lib;%LIB%

Затем я использую эту строку при компиляции. Я верю, просто добавляют /useenv к Вашим строкам и все должно хорошо работать:

vcbuild /useenv /nohtmllog /nologo name.proj (or any file to compile)
0
ответ дан 5 December 2019 в 13:02
поделиться

Будет хорошо, когда сканирования сделают это автоматически. На данный момент я использую это (выполненный от командной строки SDK, не уверенной, если существует различие если бежавшее vsvars32.bat):

import os
env = Environment(ENV={'PATH': os.environ['PATH']})

env['ENV']['TMP'] = os.environ['TMP']
env.AppendUnique(CPPPATH=os.environ['INCLUDE'].split(';'))
env.AppendUnique(LIBPATH=os.environ['LIB'].split(';'))
0
ответ дан 5 December 2019 в 13:02
поделиться

Вы показываете нам, как Вы настроили Visual Studio для компиляций в рамках Visual Studio, но Вы не показали нам, какую среду командной строки Вы попробовали. Извините я не попробовал версии Экспресса, таким образом, я не знаю, создают ли они дополнительные ярлыки Меню "Пуск" как Pro, и выше делают. При открытии подходящей командной строки с ее переменными среды уже набор затем, можно скомпилировать на командной строке. Иначе необходимо установить переменные сами или выполнить сценарий пакетной обработки для установки их, каждый раз, когда Вы открываете командную строку.

0
ответ дан 5 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: