Почему фатальная ошибка «LNK1104: невозможно открыть файл« C: \ Program.obj »возникает при компиляции проекта C ++ в Visual Studio?

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

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

фатальная ошибка LNK1104: невозможно открыть файл ‘C: \ Program.obj’

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

На вкладке Свойства конфигурации -> Связи -> Входные данные свойств проекта есть свойство Additional Dependencies . Эта проблема была устранена путем изменения этого свойства:

C: \ Program Files \ sofware sdk \ lib \ library.lib

Для того, чтобы:

“C: \ Program Files \ sofware sdk \ lib \ library.lib”

Где я добавил цитаты.

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

: -1: ошибка: LNK1104: невозможно открыть файл ‘debug \ ****. Exe’

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

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

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

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

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

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

Для проекта сборки (ProjectName -> Build Dependencies -> Build Customizations -> masm (выбрано)) настройка « Сгенерировать препроцессорный исходный список в True» также вызвала эту проблему, очистив ее исправленную. VS2013 здесь.

Я сталкиваюсь с той же проблемой, что и компоновщик, жалующийся на отсутствие основного исполняемого файла. Это произошло во время нашего порта решений для новой Visual Studio 2013 . Решение представляет собой разнообразное сочетание управляемых и не управляемых проектов / кода. Проблема (и исправление) оказалась отсутствующим файлом app.config в папке решения. Взял день, чтобы понять это :(, поскольку выходной журнал не очень помог.

Я проверил все свои настройки в соответствии с этим списком: http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Это полезно для меня и для моей ситуации, я обнаружил, что Link Dependency свойств проектов имеет двойную кавычку, которой не должно быть.

У меня была такая же ошибка, только с пакетом 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 Explorer (да, диспетчер файлов Windows).

Решение 2:

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

Иногда я предполагаю, что файловая система или кто-то, кто ее контролирует, теряется с разрешениями. Перед перезапуском сеанса Windows попытался убить процессы zombie msbuild32.exe , перезапустить визуальную студию, проверить, нет ли даже файла проблемы. Нет проблем с настройкой сборки. Время от времени это случается. Некоторая внутренняя вещь в Windows не исправляется, требуется перезагрузка.

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

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

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

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

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

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

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

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

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

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

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

Спасибо

  • Что означает «статически связанное» и «динамически связанное»?
  • Почему порядок, в котором связаны библиотеки, иногда вызывает ошибки в GCC?
  • Определение переменной в файлах заголовков
  • Могу ли я смешивать статические и общедоступные библиотеки при связывании?
  • Как C ++-связь работает на практике?
  • Порядок инициализации статических переменных
  • Почему компиляторы настолько глупы?
  • ошибка LNK2005: уже определена - C ++
  • Interesting Posts
    Давайте будем гением компьютера.