Что означает это сообщение об ошибке: LINK: фатальная ошибка LNK1104: не удается открыть файл 'TEMPFILE' - PullRequest
2 голосов
/ 27 июня 2011

Я строю программу на C с Visual Studio 2008 из командной строки.

vcbuild /logcommands foo.vcproj

Из графического интерфейса сборка работает нормально.Но из командной строки сборка завершается неудачно на этапе компоновки с такими сообщениями об ошибках:

Связывание ... Создание библиотеки c: \ foo \ out \ foo.lib и объекта c: \ foo \ out \foo.exp Генерация кода Закончено генерирование кода LINK: фатальная ошибка LNK1104: невозможно открыть файл 'TEMPFILE' Журнал сборки был сохранен в "file: // c: \ foo \ out \ BuildLog.htm"

Что это TEMPFILE, а как исправить сборку?

1 Ответ

7 голосов
/ 27 июня 2011

Компоновщик пытается создать временный файл в каталоге, указанном переменной среды TMP.Убедитесь, что установлен TMP и он указывает на каталог, в котором компоновщик может создавать файлы, и на котором достаточно места на диске.Например,

set TMP=%HOMEDRIVE%%HOMEPATH%\Local Settings\Temp
vcbuild /logcommands foo.vcproj

(найдено в SCons FAQ всех мест. Мои скрипты сборки путались с TMP перед вызовом vcbuild по непонятной причине).

...