Я создал новый проект на C ++ в Visual Studio 2008. Код еще не написан; Изменились только настройки проекта.
Когда я компилирую проект, я получаю следующую фатальную ошибку:
фатальная ошибка LNK1104: невозможно открыть файл 'C: \ Program.obj'
Я создал новый проект на C ++ в Visual Studio 2008. Код еще не написан; Изменились только настройки проекта.
Когда я компилирую проект, я получаю следующую фатальную ошибку:
фатальная ошибка LNK1104: невозможно открыть файл 'C: \ Program.obj'
Ответы:
Эта конкретная проблема вызвана указанием зависимости для файла lib, в пути которого были пробелы. Для корректной компиляции проекта путь должен быть заключен в кавычки.
На вкладке Configuration Properties -> Linker -> Input свойств проекта есть свойство Additional Dependencies . Эта проблема была устранена путем изменения этого свойства с:
C: \ Program Files \ software sdk \ lib \ library.lib
Для того, чтобы:
"C: \ Program Files \ sofware sdk \ lib \ library.lib"
Где я добавил цитаты.
"C:\Program Files\sofware sdk\lib\library.lib"
. Отсутствие a ;
также приведет к неправильной компиляции проекта.
Это может произойти, если файл все еще работает.
: -1: ошибка: LNK1104: не удается открыть файл 'debug \ ****. Exe'
Проблема исчезла для меня после закрытия и повторного открытия Visual Studio. Не уверен, почему возникла проблема, но, возможно, стоит попробовать.
Это было на VS 2013 Ultimate, Windows 8.1.
Также убедитесь, что у вас не включено: Свойства конфигурации -> C / C ++ -> Препроцессор -> Предварительная обработка в файл .
Моя проблема заключалась в отсутствии .lib
расширения, я просто связывал его, mylib
и VS решил его найти mylib.obj
.
Решение 1 (для моего случая): перезапустите процесс Windows Explorer (да, файловый менеджер Windows).
Решение 2:
Я предполагаю, что иногда файловая система или тот, кто ее контролирует, теряются со своими разрешениями. Перед перезапуском сеанса Windows пытался убить msbuild32.exe
процессы зомби , перезапустить визуальную студию, не проверять, даже показывая файл проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени. Что-то внутреннее в Windows не исправляется, требуется перезагрузка.
У меня была такая же ошибка, только с пакетом Nuget, который я установил (тот, который не является только заголовком), а затем попытался удалить.
Что было неправильно для меня, так это то, что я все еще включал заголовок для пакета, который я только что удалил, в одном из моих файлов .cpp (довольно глупо, да).
Я даже удалил ссылки на дополнительные каталоги библиотеки Project -> Properties -> Linker -> General
, но, конечно, безрезультатно, поскольку я все еще пытался ссылаться на несуществующий заголовок.
Определенно сбивающее с толку сообщение об ошибке в этом случае, поскольку имя заголовка было, <boost/filesystem.hpp>
но ошибка дала мне, "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
а номера строк или что-то еще.
У меня была такая же проблема, но решения для моего случая в ответах нет. Моя антивирусная программа (AVG) определила файл MyProg.exe
как вирус и поместила его в «хранилище вирусов». Вам нужно проверить это хранилище, и если файл там - то просто восстановите его. Мне это помогло.
У меня та же проблема с компоновщиком, который жалуется на отсутствие основного исполняемого файла. Это произошло во время переноса нашего решения на новую Visual Studio 2013 . Решение представляет собой разнообразное сочетание управляемых и неуправляемых проектов / кода. Проблема (и решение) заключалась в отсутствии файла app.config в папке решения. Потребовался день, чтобы понять это :(, поскольку журнал вывода не очень помог.
Я проверил все свои настройки по этому списку: http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Это полезно для меня, и в моей ситуации я обнаружил, что Link Dependency для свойств проектов имеет двойные кавычки, которых не должно быть.
Я отвечаю, потому что не вижу этого конкретного решения в списке других.
По-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которой зависит один из моих проектов, и удалял ее. Даже после исключения каталога, в котором находится DLL, такое же поведение продолжалось до тех пор, пока я не перезагрузил свой компьютер.
В моем случае я заменил файлы математической библиотеки из предыдущего курса Game Engine Graphics на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (даже если они были в репозитории проекта).
У меня была эта проблема в сочетании с ошибкой LNK2038, и я следил за этим сообщением, чтобы разделить библиотеки DLL RELEASE и DEBUG. В этом процессе я очистил всю папку, в которой находились эти зависимости.
К счастью, у меня была резервная копия всех этих файлов, и я получил файл, для которого эта ошибка отбрасывалась обратно в папку DEBUG, чтобы решить проблему. Код ошибки каким-то образом вводил в заблуждение, так как мне пришлось потратить много времени, чтобы снова прийти к этому совету из одного из ответов из этого сообщения.
Надеюсь, этот ответ поможет кому-то в нужде.
Я решил его добавление в существующий проект к моему решению , которое я забыл добавить в первый раз.
У меня была такая же ошибка:
fatal error LNK1104: cannot open file 'GTest.lib;'
Это было вызвано ;
в конце. Если у вас несколько библиотек, их следует разделять пустым пространством (пробел), без запятой или точкой с запятой!
Так что не используйте ;
или что-либо еще при перечислении библиотек вProject properties >> Configuration Properties >> Linker >> Input
Я пробовал вышеуказанное решение, но у меня не получилось. Поэтому я переименовал exe и перестроил решение. Меня устраивает.
У меня была эта точная ошибка при создании VC ++ DLL в Visual Studio 2019:
LNK1104: невозможно открыть файл 'C: \ Program.obj'
Оказалось, что в разделе «Свойства проекта»> «Компоновщик»> «Входные данные»> «Файл определения модуля» я указал файл def, в конце имени которого была заключена двойная кавычка . Удаление двойных кавычек без совпадений решило проблему.
Я столкнулся с той же проблемой с «Visual Studio 2013».
LNK1104: cannot open file 'debug\****.exe
Это разрешилось после закрытия и повторного запуска Visual Studio.
У меня была та же проблема, я только что скопировал код в новый проект и начал сборку. Начала приходить какая-то другая ошибка. ошибка C4996: 'fopen': эта функция или переменная может быть небезопасной. Вместо этого рассмотрите возможность использования fopen_s
Чтобы снова решить эту проблему, я добавил свое единственное свойство в проект Project, как показано ниже. Проект -> Свойства -> Свойство конфигурации -> c / c ++. В этой категории есть имя поля. Определения препроцессора. Я добавил _CRT_SECURE_NO_WARNINGS это, чтобы решить проблему. Надеюсь, это поможет ...
Спасибо