Почему неустранимая ошибка " LNK1104: не удается открыть файл "C:Program - ... obj '" возникает при компиляции проекта C++ в Visual Studio?
Я создал новый проект C++ в Visual Studio 2008. Код еще не написан; изменены только настройки проекта.
когда я компилирую проект, я получаю следующую фатальную ошибку:
неустранимая ошибка LNK1104: не удается открыть файл 'C:Program - ... параметр obj'
19 ответов
эта конкретная проблема вызвана указанием зависимости от файла 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 файл в папке решения. Потребовался день, чтобы понять это: (, поскольку журнал вывода был не очень полезен.
Я проверил все мои настройки в соответствии с этим списком:http://msdn.microsoft.com/en-us/library/ts7eyw4s.aspx#feedback . Это полезно для меня и для моей ситуации, я узнаю, что зависимость ссылок свойств проектов имеет двойную цитату, которой не должно быть.
у меня была та же ошибка, только с пакетом Nuget, который я установил (тот, который не является только заголовком), а затем попытался удалить.
Что было не так для меня, так это то, что я все еще включал заголовок для пакета, который я только что удалил в одном из моих .cpp файлы (довольно глупо, да).
Я даже удалил ссылку на дополнительные каталоги библиотеки в Project -> Properties -> Linker -> General
, но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.
определенно путаешь сообщение об ошибке в этом случае, так как имя заголовка <boost/filesystem.hpp>
но ошибка дала мне "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
и никаких номеров строк или что-нибудь.
Я отвечаю, потому что я не вижу этого конкретного решения, указанного кем-либо еще.
по-видимому, мой антивирус (Ad-Aware) отмечал DLL, от которого зависит один из моих проектов, и удалял его. Даже после исключения каталога, где живет DLL, то же самое поведение продолжалось до тех пор, пока я не перезапустил свой компьютер.
У меня была такая же проблема, но решение для моего случая не указано в ответах.
Моя антивирусная программа (AVG) определила файл MyProg.exe
как вирус и поместить его в "хранилище вирусов". Вам нужно проверить этот склад, и если файл есть-просто восстановите его. Это помогло мне.
Решение 1 (для моего случая): перезапустите процесс Проводника windows (да, диспетчер файлов windows).
решение 2:
- Закройте Visual Studio. Окна Выход
- вход в систему, откройте Visual Studio
- построить как обычно. Теперь он строит и может получить доступ к проблемному файлу.
Я предполагаю, что иногда файловая система или тот, кто ее контролирует, теряется с ее разрешениями. Перед перезапуском сеанса windows, пытался убить зомби msbuild32.exe
процессы, перезапустите visual studio, проверьте, нет ли даже файла проблемы. Нет проблем с конфигурацией сборки. Это случается время от времени. Какая-то внутренняя вещь в Windows не исправляется, нуждается в перезагрузке.
в моем случае Я заменил файлы библиотеки математики из предыдущего графического курса игрового движка на GLM. Проблема заключалась в том, что я не добавил их в проект в обозревателе решений Visual Studio (хотя они были в репозитории проекта).
У меня была эта проблема в сочетании с ошибкой LNK2038, после этого в должности для разделения библиотеки DLL выпуска и отладки. В этом процессе я очистил всю папку, в которой находились эти зависимости.
к счастью, у меня была резервная копия всех этих файлов, и я получил файл, для которого эта ошибка возвращалась в папку отладки, чтобы решить проблему. Код ошибки каким-то образом вводил в заблуждение, так как мне пришлось потратить много времени, чтобы прийти к этому совету от одного из ответов с этого поста снова.
надеюсь, этот ответ поможет кому-то нужна.
у меня была такая же ошибка:
fatal error LNK1104: cannot open file 'GTest.lib;'
Это было вызвано ;
в конце. Если у вас есть несколько библиотек, они должны быть разделены пустым пространством (пробел), без запятой или полуколонами!
Так что не используйте ;
или что - нибудь еще при перечислении библиотек в свойства проекта >> настройка >> Компоновщик >> вход
У меня была такая же проблема , я просто скопировал код в новый проект и начали строить . Появилась еще одна ошибка. ошибка C4996:' fopen': эта функция или переменная может быть небезопасной. Рассмотрите возможность использования fopen_s вместо
снова решить эту проблему, я добавил свое одно свойство в проект, как показано ниже. Проект - > свойства - > свойство конфигурации - > c / C++ . В этой категории есть определения препроцессора имени Поля Я добавил _CRT_SECURE_NO_WARNINGS это для решения проблемы Надеюсь, это поможет ...
Спасибо