Ошибка c1083 visual studio
Некоторые вещи, которые вы должны проверить:
Проверьте папку include в вашей версии VS (в " C:\Program Files\Microsoft Visual Studio xx.x\VC\include " проверьте файл, который вы включаете, iostream , убедитесь, что он там).
Проверьте свои проекты Включить каталоги в <Project Name> > Properties > Configuration Properties > VC++ Directories > Include Directories - (это должно выглядеть так: $(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include; )
Убедитесь, что вы выбрали правильный проект для этого кода ( File > New > Project > Visual C++ > Win32 Console Application )
Убедитесь, что в ваших кодовых файлах нет <iostream.h> , VS не поддерживает это (в том же проекте, проверьте ваши другие файлы кода,.cpp и .h файлы для <iostream.h> и удалите его).
Убедитесь, что у вас не более одной функции main() в вашем файлы проекта кода (в том же проекте, проверьте свои другие файлы кода, файлы .cpp и .h для функции main() и удалите его или замените другим именем).
Некоторые вещи, с которыми вы могли бы попытаться построить:
- Исключить using namespace std; из вашей функции main() и поместить ее после включения директивы.
- Используйте std::cout без using namespace std; .
Выше работали для меня. Ниже не было:
Это также не удалось:
Возможно, ваш компилятор и ресурсы, установленные вокруг него, были как-то неполными. Я рекомендую повторно установить ваш компилятор: он должен работать после этого.
У меня возникла эта ошибка, когда я создал консольное приложение "Пустое" в Visual Studio 2015. Я заново создал приложение, оставив флажок "Пусто", он добавил все необходимые библиотеки.
Это сделало это для меня.
Вот проект консоли С++ win32!
Теперь идет проект консоли С++ CLR!
другие вещи, которые вы узнаете из отладки, чтобы добавить для предотвращения ошибок
Он вообще не должен искать std.cpp, Я убрал это! Так есть ли способ, которым я могу сброс проект и перекомпилировать чтобы программа не искала его? Я уже пробовала перестраивать а также Очистить -> Построить проект
Решение
Другие решения
Хорошо, я понятия не имею, как я это сделал но я все еще попытаюсь написать, что я сделал.
Это именно то, что я сделал и работал на меня. Я думаю, что главное сделать очистить, сохранить, закрыть, открыть, построить, но я не уверен.
В обозревателе решений вы можете выбрать / отменить выбор «Показать все файлы».
Попробуйте оба варианта и убедитесь, что исключенный файл не включен в проект для них обоих.
Вот что у меня было:
Я использовал опцию «Показать все файлы» (чтобы вы могли видеть все файлы в каталогах проекта). Я исключил один из моих .cpp файлов из проекта. Тем не менее, он вел себя как этот файл в проекте.
Как я вижу, это известная проблема.
Это сработало для меня, надеюсь, это будет полезно для кого-то еще.
Попробуйте подробно изложить вывод компоновщика, чтобы увидеть точные шаги происходящего. Я полагаю, вы используете Visual Studio, верно?
- Зайдите в меню «Инструменты -> Параметры»
- В диалоговом окне параметров выберите «Проекты и решения -> Построить и запустить»
- Измените текущий режим «Детализация выходных данных сборки проекта MSBuild» с «Минимальный» на что-то вроде «Диагностика» или «Подробно».
- Перестройте свой проект и изучите окна вывода
Дамп Builder должен пролить больше света на ваши текущие настройки (я подозреваю, что у вас больше ссылок на этот файл, чем вы ожидаете)
Или иногда, как в моем случае, проблема заключается просто в именовании папок в местоположении. У меня был очень длинный путь с папками, которые я хотел бы назвать специальными символами, чтобы они отображались вверху, и к ним легко получить доступ.
Как только я поместил свое решение в папку только на диске D: проблема исчезла.
Когда я переименовал файл, я обнаружил, что должен был перейти к SolutionExplorer, Source File, выбрать файл, сначала исключить из проекта, затем повторно добавьте его в проект и перестройте решение, в котором оно находится. Оно все еще показывалось как старое имя файла в разделе «Исходные файлы» для меня.
Я скачал Visual C++ 2005 Express Edition и Microsoft Platform SDK для Windows Server 2003 с пакетом обновления 1 (SP1), потому что я хочу получить в свои руки открытый исходный код Enso Project .
Итак, после установки scons я подошел к консоли и попытался скомпилировать ее с помощью scons, но я получил эту ошибку:
После проверки этих ссылок:
Мне удалось настроить мою установку следующим образом:
И даже запустить этот скрипт
И мне удалось скомпилировать файл ниже в IDE.
Но я все еще получаю это исключение в консоли. У кого-нибудь есть опыт брынз?
РЕДАКТИРОВАТЬ
На самом деле (и я забыл вам это сказать) я запустил командную строку со ссылкой "Командная строка Visual Studio 2005".
Я предполагаю, что это будет включать пути в переменных среды. После печати я обнаружил, что это не так:
И их не было, поэтому я создал этот файл .bat:
Тем не менее, мошенники, кажется, не брать Vars . :(
Использование приведенных выше рекомендаций не будет работать с scons: scons не импортирует пользовательскую среду (PATH и другие переменные). Основная проблема заключается в том, что scons не поддерживает последние версии SDK/VS.
Я случайный участник scons, и я работаю над этой функцией банкомата. Надеюсь, он скоро будет включен в scons, но эту функцию гораздо сложнее реализовать надежнее, чем я ожидал, отчасти потому, что каждая комбинация sdk/компилятора отличается (а иногда даже MS не понимает это правильно, некоторые из их файлов .bat сломаны), поэтому я не могу дать вам дату. Я надеюсь, что он будет включен в 1.2 (выйдет примерно через месяц).
Вам нужно установить путь к файлу включения (и, возможно, другие вещи). В командной строке это обычно делается с помощью пакетного файла, который устанавливает Visual Studio, с именем vsvars32.bat (или vcvars32.bat для совместимости с VC6).
Я не знаком с scons, поэтому я не знаю, как лучше настроить эти параметры для этого инструмента, но для стандартных make-файлов обычно есть строка в make-файле, которая устанавливает макропеременную с путем к каталогу include, и этот макрос используется как часть параметра командной строки в команде, которая вызывает компилятор.
Другая возможность может состоять в том, чтобы процесс scons вызывал vsvars32.bat или запускал скрипт scons из командной строки, которая была настроена с помощью командного файла.
Короче говоря, вам нужно получить то, что vsvars32.bat настраивает в конфигурации scons.
Будет пакетный файл, подобный этому (для MSVC 2005), который устанавливает переменные среды:
Шаг 1: Найти похожий файл в установочных папках Express
Шаг 2: Создайте ярлык на рабочем столе с этими данными о цели и соответствующим образом измененным путем :
Шаг 3: Откройте приглашение DOS с помощью этого ярлыка
Сборка командной строки теперь должна работать из этого окна консоли.
Это работает для меня при компиляции wxwidgets с Visual C++ 2005 Express с помощью командной строки:
(Используйте параметр/useenv при компиляции.)
(Изменить на правую.)
Затем я использую эту строку при компиляции. Я считаю, просто добавьте /useenv в ваши строки, и все должно работать нормально:
Вы показали нам, как вы настроили Visual Studio для компиляции в Visual Studio, но вы не показали нам, какую среду командной строки вы пробовали. Извините, я не пробовал Express версии, поэтому я не знаю, создают ли они дополнительные ярлыки меню "Пуск", как Pro и выше. Если вы откроете подходящую командную строку с уже установленными переменными окружения, вы сможете скомпилировать ее в командной строке. В противном случае вы должны установить переменные самостоятельно или выполнить пакетный скрипт для их установки при каждом открытии командной строки.
Будет хорошо, когда scons сделает это автоматически. На данный момент я использую это (запустить из командной строки SDK, не уверен, есть ли разница, если запустить после vsvars32.bat):
Я загрузил Visual C ++ 2005 Express Edition и Microsoft Platform SDK для Windows Server 2003 SP1, потому что хочу заполучить открытый исходный код Enso Project.
Итак, после установки scons я зашел в консоль и попытался скомпилировать его с помощью scons, но получил такую ошибку:
После проверки этих ссылок:
Мне удалось настроить свою установку так:
И даже запустить этот скрипт
И мне удалось скомпилировать файл ниже в IDE.
Но я все еще получаю это исключение в консоли. Есть ли у кого-нибудь опыт работы с бра?
ИЗМЕНИТЬ
На самом деле (и я забыл вам это сказать) я запустил командную строку со ссылкой «Командная строка Visual Studio 2005».
Я предполагаю, что это будет включать пути в переменные среды. После распечатки я обнаружил, что этого не произошло:
А их не было, поэтому я создал этот .bat-файл:
Все-таки бра вроде вары не берут . :(
Использование приведенных выше рекомендаций не будет работать с scons: scons не импортирует пользовательскую среду (PATH и другие переменные). Основная проблема заключается в том, что scons не поддерживает последние версии SDK / VS.
Я время от времени участвую в scons и работаю над этой функцией ATM. Надеюсь, он скоро будет включен в scons, но эту функцию намного сложнее реализовать надежно, чем я сначала ожидал, отчасти потому, что каждая комбинация sdk / compiler отличается (а иногда даже MS не понимает это правильно, некоторые из их файлов .bat сломаны), поэтому я не могу назначить вам дату. Я надеюсь, что он будет включен в 1.2 (выйдет примерно через месяц).
: S Как мне вручную добавить переменные среды непосредственно в процесс сборки scons? Есть два пути. Допустим, у вас есть путь к SDK в переменной python mssdk, затем вы можете добавить пути, используя env.Prepend (CPPPATH, [os.path.join (mssdk, "Include")]) и env.Prepend (LIBPATH, [os .path.join (mssdk, "libpath")]) Другой способ - просто импортировать среду в scons: env = Environment (ENV = os.environ). Затем scons будет использовать любую модификацию среды, которую вы сделаете в оболочке (здесь, в Windows, оболочка DOS). Отлично, я сделал вторую, и теперь появляется другая ошибка, но не Windows.h, большое спасибо !!Вам необходимо установить путь к включаемому файлу (и, возможно, другие вещи). В командной строке это обычно делается с помощью устанавливаемого Visual Studio пакетного файла под названием vsvars32.bat (или vcvars32.bat для совместимости с VC6).
Я не знаком с scons, поэтому я не знаю, как лучше всего настроить эти параметры для этого инструмента, но для стандартных make-файлов обычно есть строка в make-файле, которая устанавливает переменную макроса с путем к каталогу include, и этот макрос используется как часть параметра командной строки в команде, вызывающей компилятор.
Другая возможность может заключаться в том, чтобы процесс scons вызывал vsvars32.bat или запускал скрипт scons из командной строки, которая была настроена с помощью командного файла.
Короче говоря, вам нужно как-то добавить то, что настраивает vsvars32.bat, в конфигурацию scons.
Читайте также: