Я создал новый проект на С++ в Visual Studio 2008. Никакой код еще не написан; Изменены только настройки проекта.
Когда я компилирую проект, я получаю следующую фатальную ошибку:
фатальная ошибка LNK1104: невозможно открыть файл 'C:\Program.obj'
Я создал новый проект на С++ в Visual Studio 2008. Никакой код еще не написан; Изменены только настройки проекта.
Когда я компилирую проект, я получаю следующую фатальную ошибку:
фатальная ошибка LNK1104: невозможно открыть файл 'C:\Program.obj'
Эта проблема возникает из-за указания зависимости от файла lib с пробелами в его пути. Путь должен быть окружен кавычками для правильного компиляции проекта.
На вкладке Свойства конфигурации → Коннектор → Вход свойств проектов существует свойство Дополнительные зависимости. Эта проблема была исправлена путем изменения этого свойства:
C:\Program Files\sofware SDK\Lib\Library.lib
To:
"C:\Program Files\sofware SDK\Lib\Library.lib"
Где я добавил цитаты.
Это может произойти, если файл все еще запущен.
: - 1: ошибка: LNK1104: невозможно открыть файл 'debug\****. exe'
Проблема исчезла после закрытия и повторного открытия Visual Studio. Не знаю, почему возникла проблема, но это может стоить того.
Это было на VS 2013 Ultimate, Windows 8.1.
У меня была та же проблема. Она вызвана "," в имени папки с дополнительным пулом библиотек. Она была решена путем изменения дополнительного пути к библиотеке.
Моя проблема заключалась в отсутствии расширения .lib
, я просто привязывался к mylib
, и VS решил искать mylib.obj
.
Проверьте также, что это не включено: Свойства конфигурации → C/С++ → Препроцессор → Препроцессор в файл.
В моем случае речь шла о неверно направленной ссылке. Проект ссылался на вывод другого проекта, но последний не выдал файл, в котором его искал.
Для проекта сборки (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
, но, конечно, безрезультатно, так как я все еще пытался ссылаться на несуществующий заголовок.
Определенно запутанное сообщение об ошибке в этом случае, так как имя заголовка было <boost/filesystem.hpp>
, но ошибка дала мне "cannot open file 'llibboost_filesystem-vc140-mt-gd-1_59.lib'"
и никаких номеров строк или что-то еще.
Я отвечаю, потому что я не вижу этого конкретного решения, указанного кем-то еще.
По-видимому, мой антивирус (Ad-Aware) помещал DLL, и один из моих проектов зависел от него и удалял его. Даже после исключения каталога, в котором находится DLL, такое же поведение продолжалось до тех пор, пока я не перезапустил компьютер.
У меня была та же проблема, но решение для моего случая не указано в ответах.
Моя антивирусная программа (AVG) определила файл MyProg.exe
как вирус и поместила его в хранилище вирусов. Вам нужно проверить это хранилище, и если файл есть, просто восстановите его. Это помогло мне.
Решение 1 (для моего случая): перезапустите процесс Windows Explorer (да, диспетчер файлов Windows).
Решение 2:
Я предполагаю, что иногда файловая система или кто-то, кто ее контролирует, теряется с разрешениями. Перед перезапуском сеанса Windows попытались убить процессы zombie msbuild32.exe
, перезапустить визуальную студию, проверить, нет ли даже файла проблемы. Нет проблем с настройкой сборки. Время от времени это случается. Некоторая внутренняя вещь в Windows не исправляется, требуется перезапуск.
В моем случае я заменил файлы математической библиотеки с предыдущего курса Game Engine Graphics с помощью GLM. Проблема заключалась в том, что я не добавлял их в проект в Visual Studio Solution Explorer (хотя они были в репозитории проектов).
У меня была эта проблема в сочетании с ошибкой LNK2038, после этого post, чтобы отделить RELEASE и DLB DEBUG. В этом процессе я очистил всю папку, в которой находились эти зависимости.
К счастью, у меня была резервная копия всех этих файлов, и я получил файл, для которого эта ошибка возвращалась в папку DEBUG, чтобы решить проблему. Код ошибки в какой-то мере вводил в заблуждение, так как мне пришлось потратить много времени, чтобы прийти к этому совету из одного из ответов с этого поста.
Надейтесь на этот ответ, помогите кому-то в этом нуждаться.
Я решил его добавить существующий проект в мое решение, которое я забыл добавьте в первый раз.
У меня была такая же ошибка:
fatal error LNK1104: cannot open file 'GTest.lib;'
Это было вызвано ;
в конце. Если у вас несколько библиотек, они должны быть разделены пустым пространством (пробел), без запятой или полуколонами!
Поэтому не используйте ;
или что-нибудь еще при перечислении библиотек в Project properties >> Configuration Properties >> Linker >> Input
У меня была такая же проблема, я только что скопировал код в новый проект и начал сборку. Началась другая ошибка. ошибка C4996: "fopen": эта функция или переменная может быть небезопасной. Вместо этого используйте fopen_s
Чтобы снова решить эту проблему, я добавил свое одно свойство в проект, как показано ниже. Проект → Свойства → Свойство конфигурации → c/С++. В этой категории есть имя поля. Определения препроцессора Я добавил _CRT_SECURE_NO_WARNINGS это, чтобы решить проблему Надеюсь, это поможет...
Спасибо