Не удается открыть для записи c

Ошибка средств компоновщика LNK1168

Не удается открыть для записи c
sh: 1: –format=html: not found

  • 11/04/2016
  • Чтение занимает 2 мин
    • c
    • o
    • S
    • v

не удается открыть “имяфайла” для записиcannot open filename for writing

Компоновщик не может произвести запись в filename.The linker can’t write to filename. Файл используется или его дескриптор заблокирован другим процессом либо у вас нет разрешения на запись для этого файла, каталога или сетевой папки, в которой находится файл.

The file may be in use and its file handle locked by another process, or you may not have write permission for the file, or for the directory or network share it is located in.

Эта ошибка часто вызывается временным условием, например блокировкой, удерживаемой антивирусной программой, процессом индексирования поиска файлов или задержкой в освобождении блокировки, удерживаемой системой сборки Visual Studio.

This error is often caused by a transient condition—for example, a lock held by an anti-virus program, a file search indexing process, or a delay in releasing a lock held by the Visual Studio build system.

Чтобы устранить эту проблему, убедитесь, что дескриптор файла filename не заблокирован и у вас есть разрешение на запись в данный файл.To fix this issue, verify that the filename file handle is not locked, and that you have write permission for the file. Если это исполняемый файл, убедитесь, что он не запущен на исполнение.If it is an executable, verify that it is not already running.

Вы можете использовать служебные программы Windows Sysinternals или проводник процессов , чтобы определить, какой процесс имеет блокировку на обработку файлов filename .You can use the Windows SysInternals utilities Handle or Process Explorer to determine which process has a file handle lock on filename.

С помощью программы Process Explorer можно также снимать блокировку дескрипторов открытых файлов.You can also use Process Explorer to release locks on open file handles. Сведения об использовании этих программ см. в поставляемых с ними файлах справки.

For information about how to use these utilities, see the Help files that come with them.

Если файл заблокирован антивирусной программой, для устранения проблемы исключите выходные каталоги сборки из автоматической проверки антивирусной программой.

If the file is locked by an anti-virus program, you can fix this issue by excluding your build output directories from automatic scanning by the anti-virus program.

Программы проверки на вирусы часто запускаются при создании в системе новых файлов и блокируют эти файлы на время проверки.Anti-virus scanners are often triggered by the creation of new files in the file system, and they hold locks on the files while the scan proceeds.

Сведения о порядке отключения проверки определенных каталогов см. в документации антивирусной программы.Consult your anti-virus program documentation for details about how to exclude specific directories from scanning.

Если файл заблокирован службой индексирования поиска, для устранения этой проблемы отключите автоматическое индексирование выходных каталогов сборки.If the file is locked by a search indexing service, you can fix this issue by excluding your build output directories from automatic indexing.

Дополнительные сведения см. в документации службы индексирования.Consult the documentation for the indexing service for more information. Чтобы изменить службу индексирования Windows Search, используйте Параметры индексирования на панели управления Windows.

To change the Windows search indexing service, use Indexing Options in the Windows Control Panel. Дополнительные сведения см. в разделе Поиск индексирования в Windows 10: часто задаваемые вопросы.For more information, see Search indexing in Windows 10: FAQ.

Если процесс сборки не может перезаписать исполняемый файл, возможно, он заблокирован программой Проводник.If your executable can’t be overwritten by the build process, it may be locked by File Explorer.

Если служба взаимодействия с приложением была отключена, проводник может удерживать блокировку исполняемого файла в течение длительного времени.If the Application Experience service has been disabled, File Explorer may hold on to an executable file handle lock for an extended time.

Чтобы устранить эту проблему, запустите Services. msc и откройте диалоговое окно ” свойства ” для службы ” взаимодействие приложений “.To fix this issue, run services.msc and then open the Properties dialog box for the Application Experience service.

Измените Тип запуска с ” отключено ” на ” вручную“.Change the Startup type from Disabled to Manual.

Отправить и просмотреть отзыв по

Этот продукт Эта страница Просмотреть все отзывы по странице

Источник: https://docs.microsoft.com/ru-ru/cpp/error-messages/tool-errors/linker-tools-error-lnk1168?view=msvc-160&viewFallbackFrom=vs-2017

Почему фатальная ошибка

Не удается открыть для записи c

Я создал новый проект C++ в Visual Studio 2008. Код еще не написан, изменены только настройки проекта.

когда я компилирую проект, я получаю следующую фатальную ошибку:

фатальная ошибка LNK1104: не удается открыть файл 'C:Program.obj'

268   19  

эта конкретная проблема вызвана указанием зависимости для файла lib, который имел пробелы в своем пути. Путь должен быть окружен кавычками для правильной компиляции проекта.

на Свойства Конфигурации -> Компоновщик -> Ввод вкладка свойств проекта, есть Дополнительные Зависимости собственность. Эта проблема была исправлена путем изменения этого свойства:

C:\Program файлы\программное обеспечение sdk\lib \ библиотека.Либ

To:

” C:\Program файлы\программное обеспечение sdk\lib \ библиотека.lib”

где я добавил кавычки.

Это может произойти, если файл все еще работает.

:-1: ошибка: LNK1104: не удается открыть файл ' debug\****.exe'

проблема ушла для меня после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может быть стоит попробовать.

Это было на VS 2013 Ultimate, Windows 8.1.

проверьте также, что вы не включили это: свойства конфигурации -> C / C++ – > препроцессор -> предварительная обработка файла.

У меня было то же самое problem.It вызвано символом”, ” в имени папки дополнительной библиотеки path.It решается путем изменения дополнительного пути к библиотеке.

моя проблема была отсутствует .lib расширение, я просто связывал против mylib и ВС решил искать mylib.obj.

в моем случае это был вопрос неправильной ссылки. Проект ссылался на вывод другого проекта, но последний не выводил файл, где первый искал.

для сборки проекта (название проекта -> построение зависимостей -> сборки настройки -> компилятор MASM (некоторые)), задание Создать Предварительно Обработанный Список Источников до True вызвал проблему и для меня, очистив настройку, исправил ее. VS2013 здесь.

Я сталкиваюсь с той же проблемой, когда компоновщик жалуется на отсутствие основного исполняемого файла. Это произошло во время нашего порта решения для нового Visual Studio 2013.

Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и исправить) в конечном итоге отсутствует приложение.конфигурации файл в папке решения.

Потребовался день, чтобы понять это: (, поскольку выходной журнал был не очень полезен.

у меня была та же ошибка, только с пакетом Nuget, который я установил (тот, который не является только заголовком), а затем попытался удалить.

Что было неправильно для меня, так это то, что я все еще включал заголовок для пакета, который я только что удалил в одном из моих .cpp файлы (довольно глупо, да).

Я даже удалил дополнительную ссылку на каталоги библиотеки в Project -> Properties -> Linker -> General, но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.

определенно сбивает с толку сообщение об ошибке в этом случае, так как имя заголовка но ошибка дала мне “cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'” и никаких номеров строк или чего-то еще.

Я отвечаю, потому что я не вижу это конкретное решение, перечисленное кем-либо еще.

по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезагрузил компьютер.

У меня была та же проблема, но решение для моего случая не указано в ответах.Моя антивирусная программа (AVG) определила файл MyProg.exe как вирус и положить его в “хранилище вирусов”. Вам нужно проверить этот склад, и если файл есть – то просто восстановить его. Это меня выручило.

Решение 1 (для моего случая): перезапустите процесс Проводника windows (да, диспетчер файлов windows).

решение 2:

  1. Закрыть Visual Studio. Выход Из Системы Windows
  2. вход в систему, откройте Visual Studio
  3. построить как обычно. Теперь он строит и может получить доступ к проблемному файлу.

Я предполагаю, что иногда файловая система или тот, кто ее контролирует, теряется с ее разрешениями. Перед перезапуском сеанса windows, пытался убить зомби msbuild32.

exe процессы, перезагрузите visual studio, не проверяйте даже отображение файла проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени.

Некоторые внутренние вещи в Windows не исправляются,требуется перезагрузка.

в моем случае Я заменил файлы математической библиотеки из предыдущего графического курса игрового движка на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (даже если они были в репозитории проекта).

У меня была эта проблема в сочетании с ошибкой LNK2038, а затем это post для разделения библиотеки DLL выпуска и отладки. В этом процессе я очистил всю папку, в которой находились эти зависимости.

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

надеюсь, что этот ответ, помогает кому-то в нужде.

Я решил это с помощью добавлять an существующий проектto мой решение, который я забыл добавить в первый раз.

у меня была та же ошибка:

fatal error LNK1104: cannot open file 'GTest.lib;'

Это было вызвано ; в конце. Если у вас есть несколько библиотек, они должны быть разделены пустым пространством (пробел), без запятой или точки с запятой!

Так что не используйте ; или что-нибудь еще при перечислении библиотек в свойства проекта > > свойства конфигурации > > Компоновщик > > ввод

У меня была такая же проблема , я просто скопировал код в новый проект и начали строить . Некоторые другие ошибки начали приходить. ошибка C4996:' fopen': эта функция или переменная может быть небезопасной. Рассмотрите возможность использования fopen_s вместо

снова решить эту проблему, я добавил свое одно свойство в проект, как показано ниже. Проект – > свойства – > свойство конфигурации – > c/c++ . В этой категории есть поле Имя препроцессора определенияЯ добавил _CRT_SECURE_NO_WARNINGS это для решения проблемыНадеюсь, это поможет …

Спасибо

Источник: https://codengineering.ru/q/why-does-fatal-error-lnk1104-cannot-open-file-c-program-obj-occur-when-i-c-16510

Почему неустранимая ошибка

Не удается открыть для записи c

Я создал новый проект C++ в Visual Studio 2008. Код еще не написан; изменены только настройки проекта.

когда я компилирую проект, я получаю следующую фатальную ошибку:

неустранимая ошибка LNK1104: не удается открыть файл 'C:Program – … параметр obj'

эта конкретная проблема вызвана указанием зависимости от файла lib, который имел пробелы в своем пути. Путь должен быть окружен кавычками для правильной компиляции проекта.

на Свойства Конфигурации -> Компоновщик -> Ввод вкладка свойств проекта, есть Дополнительные Зависимости собственность. Эта проблема была исправлена путем изменения этого свойства от:

C:\Program файлы\программное обеспечение sdk\lib\библиотека.Либ!–1–>

в:

” C:\Program файлы\программное обеспечение sdk\lib\библиотека.lib”

где я добавил кавычки.

Это может произойти, если файл все еще работает.

: -1: ошибка: LNK1104: не удается открыть файл 'debug\****.exe'

проблема ушла для меня после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема,но это может стоить того.

Это было на VS 2013 Ultimate, Windows 8.1.

проверьте также, что у вас нет этого включается: свойства конфигурации – > C / C++ – > препроцессор – > Препроцесс в файл.

У меня была та же проблема.Это вызвано”, ” в имени папки дополнительного пути к библиотеке.Он решается путем изменения дополнительного пути к библиотеке.

моей проблемой было отсутствие .lib расширение, я просто связывался с mylib и VS решил искать mylib.obj.

в моем случае это был вопрос неправильной ссылки. Проект ссылался на вывод другого проекта, но последний не выводил файл, где первый искал.

для проекта сборки (имя проекта – > зависимости сборки – > настройки сборки – > masm (выбран)), настройка Создать Предварительно Обработанный Список Источников to True вызвал проблему и для меня, очистив настройку, исправил ее. VS2013 здесь.

Я сталкиваюсь с той же проблемой, когда компоновщик жалуется на отсутствие основного исполняемого файла. Это произошло во время нашего порта решения для нового Visual Studio 2013.

Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и исправление) оказалась отсутствующей app.config файл в папке решения.

Потребовался день, чтобы понять это: (, поскольку журнал вывода был не очень полезен.

у меня была та же ошибка, только с пакетом Nuget, который я установил (тот, который не является только заголовком), а затем попытался удалить.Что было не так для меня, так это то, что я все еще включал заголовок для пакета, который я только что удалил в одном из моих .cpp файлы (довольно глупо, да).

Я даже удалил ссылку на дополнительные каталоги библиотеки в Project -> Properties -> Linker -> General, но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.

определенно путаешь сообщение об ошибке в этом случае, так как имя заголовка но ошибка дала мне “cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'” и никаких номеров строк или что-нибудь.

Я отвечаю, потому что я не вижу этого конкретного решения, указанного кем-либо еще.

по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которого зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезапустил свой компьютер.

У меня была такая же проблема, но решение для моего случая не указано в ответах.Моя антивирусная программа (AVG) определила файл MyProg.exe как вирус и поместить его в “хранилище вирусов”. Вам нужно проверить этот склад, и если файл есть-просто восстановите его. Это помогло мне.

Решение 1 (для моего случая): перезапустите процесс Проводника windows (да, диспетчер файлов windows).

решение 2:

  1. Закройте Visual Studio. Окна Выход
  2. вход в систему, откройте Visual Studio
  3. построить как обычно. Теперь он строит и может получить доступ к проблемному файлу.

Я предполагаю, что иногда файловая система или тот, кто ее контролирует, теряется с ее разрешениями. Перед перезапуском сеанса windows, пытался убить зомби msbuild32.exe процессы, перезапустите visual studio, проверьте, нет ли даже файла проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени. Какая-то внутренняя вещь в Windows не исправляется, нуждается в перезагрузке.

в моем случае Я заменил файлы библиотеки математики из предыдущего графического курса игрового движка на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (хотя они были в репозитории проекта).

У меня была эта проблема в сочетании с ошибкой LNK2038, после этого в должности для разделения библиотеки DLL выпуска и отладки. В этом процессе я очистил всю папку, в которой находились эти зависимости.

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

надеюсь, этот ответ поможет кому-то нужна.

Я решил ее добавлять an существующий проектto мой решение, который я забыл добавить в первый раз.

у меня была такая же ошибка:

fatal error LNK1104: cannot open file 'GTest.lib;'

Это было вызвано ; в конце. Если у вас есть несколько библиотек, они должны быть разделены пустым пространством (пробел), без запятой или полуколонами!

Так что не используйте ; или что – нибудь еще при перечислении библиотек в свойства проекта >> настройка >> Компоновщик >> вход

У меня была такая же проблема , я просто скопировал код в новый проект и начали строить . Появилась еще одна ошибка. ошибка C4996:' fopen': эта функция или переменная может быть небезопасной. Рассмотрите возможность использования fopen_s вместо

снова решить эту проблему, я добавил свое одно свойство в проект, как показано ниже. Проект – > свойства – > свойство конфигурации – > c / C++ . В этой категории есть определения препроцессора имени ПоляЯ добавил _CRT_SECURE_NO_WARNINGS это для решения проблемыНадеюсь, это поможет …

Спасибо

Источник: https://askdev.ru/q/pochemu-neustranimaya-oshibka-lnk1104-ne-udaetsya-otkryt-fayl-c-program-obj-voznikaet-pri-kompilyacii-proekta-c-v-visual-studio-21299/

Решения самых распространенных проблем в C++ | Уроки С++

Не удается открыть для записи c

На этом уроке мы рассмотрим наиболее частые проблемы, с которыми сталкиваются новички при написании программ на языке C++.

Проблема №1

Как использовать кириллицу в программах C++?

Ответ №1

Чтобы выводить кириллицу в языке C++ нужно подключить заголовочный файл :

И прописать следующие две строки в функции main():

SetConsoleCP(1251); SetConsoleOutputCP(1251);

SetConsoleOutputCP(1251);

В качестве альтернативного варианта можно использовать следующую строку в функции main():

setlocale(LC_ALL, “Russian”);

setlocale(LC_ALL, “Russian”);

Проблема №2

При выполнении программы появляется черное консольное окно, а затем сразу пропадает.

Ответ №2

Некоторые компиляторы (например, Bloodshed’s Dev C++) автоматически не задерживают консольное окно после того, как программа завершила свое выполнение. Если проблема в компиляторе, то следующие два шага решат эту проблему:

Шаг №1: Добавьте следующую строку кода в верхнюю часть вашей программы:

Шаг №2: Добавьте следующий код в конец функции main() (прямо перед оператором return):

std::cin.clear(); std::cin.ignore(32767, ''); std::cin.get();

std::cin.ignore(32767, '');

Таким образом, программа будет ожидать нажатия клавиши, чтобы закрыть консольное окно. Вы получите дополнительное время, чтобы хорошенько всё рассмотреть/изучить. После нажатия любой клавиши, консольное окно закроется.

Другие решения, такие как system(“pause”);, могут работать только на определенных операционных системах, поэтому вариант, приведенный выше, предпочтительнее.

Примечание: Visual Studio не задерживает консольное окно, если выполнение запущено с отладкой (“Отладка” > “Начать отладку” или F5). Если вы хотите, чтобы была пауза — воспользуйтесь решением выше или запустите программу без отладки (“Отладка” > “Запуск без отладки” или Ctrl+F5).

Проблема №3

При использовании cin, cout или endl компилятор говорит, что cin, cout или endl являются «undeclared identifier» (необъявленными идентификаторами).

Ответ №3

Во-первых, убедитесь, что у вас присутствует следующая строка кода в верхней части вашей программы:

Во-вторых, убедитесь, что cin, cout или endl имеют префикс std::, например:

std::cout “Символы” и поставьте галочку возле “Серверы символов (Майкрософт)”, затем нажмите “ОК”.

Проблема №9

Я использую Code::Blocks или G++, но функционал C++11/C++14 не работает.

Ответ №9

В Code::Blocks перейдите в “Project” > “Build options” > “Compiler settings” > “Compiler flags” и поставьте галочку возле пункта “Have g++ follow C++14 ISO C++ language standard”. Смотрите урок №4 — там есть скриншоты, как это сделать.

При компиляции в g++, добавьте следующий код в командную строку:

-std=c++14

Проблема №10

Я запустил программу, появилось консольное окно, но ничего не выводится.

Ответ №10

Ваш антивирус может блокировать выполнение вашей программы. Попробуйте отключить его на время и запустите программу еще раз.

У меня есть другая проблема, с которой я не могу разобраться. как и где я могу получить ответ?

По мере прохождения данных уроков, у вас, несомненно, появятся вопросы или вы столкнетесь с проблемами. Что делать?

Во-первых, спросите у Google. Четко сформулируйте вашу проблему и просто «погуглите». Если у вас есть сообщение об ошибке — скопируйте его и вставьте в поиск Google, используя кавычки. Скорее всего, кто-то уже задавал такой же вопрос, как у вас, и получил на него ответ.

Если Google не помог, то спросите на специализированных сервисах вопросов/ответов, либо на форумах, посвященным тематике программирования/IT. Вот самые популярные из них:

   Stack Overflow

   CyberForum

   Хабр Q&A (раньше Toster)

Но будьте внимательны и старайтесь максимально конкретизировать свою проблему, укажите, какую операционную систему и IDE вы используете, а также то, что вы пробовали сделать самостоятельно для решения своей проблемы.

Оценить статью:

(544 4,91 из 5)
Загрузка…

Источник: https://ravesli.com/urok-7-samye-rasprostranennye-problemy-s-s-resheniya/

Поделиться:
Нет комментариев

    Добавить комментарий

    Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.