Поделиться через


Ошибка средств компоновщика LNK1181

не удается открыть входной файл "filename"

Компоновщик не удалось найти filename , так как он не существует или путь не найден.

Ниже приведены некоторые распространенные причины ошибки LNK1181:

  • filename ссылается как на дополнительную зависимость от строки компоновщика, но файл не существует.

  • Инструкция /LIBPATH , указывающая, что каталог, содержащийся filename , отсутствует.

Чтобы устранить указанные выше проблемы, убедитесь, что все файлы, на которые ссылается строка компоновщика, присутствуют в системе. Также убедитесь, что существует инструкция /LIBPATH для каждого каталога, содержащего файл, зависящий от компоновщика.

Дополнительные сведения см. в разделе .lib Files as Linker Input.

Еще одна возможная причина LNK1181 заключается в том, что длинное имя файла со встроенными пробелами не было заключено в кавычки. В этом случае компоновщик распознает только имя файла до первого места, а затем предполагает расширение файла .obj. Решение этой ситуации заключается в том, чтобы заключить длинное имя файла (путь плюс имя файла) в кавычки.

Компиляция с параметром /P (предварительная обработка в файл) может привести к LNK1181, так как этот параметр подавляет создание .obj файлов.

См. также

/LIBPATH (дополнительный параметр libpath)