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

не удается открыть входной файл "имяфайла"cannot open input file 'filename'

Компоновщику не удалось найти filename, поскольку он не существует или не найден путь.The linker could not find filename because it does not exist or the path was not found.

Ниже перечислены некоторые распространенные причины возникновения ошибки LNK1181.Some common causes for error LNK1181 include:

  • на filename ссылается как дополнительная зависимость от линии компоновщика, но файл не существует.filename is referenced as an additional dependency on the linker line, but the file does not exist.

  • Инструкция /libpath , указывающая каталог, содержащий filename, отсутствует.A /LIBPATH statement that specifies the directory containing filename is missing.

Чтобы устранить описанные выше проблемы, убедитесь, что все файлы, указанные в строке компоновщика, находятся в системе.To resolve the above issues, ensure any files referenced on the linker line are present on the system. Также убедитесь, что существует оператор /libpath для каждого каталога, содержащего файл, зависимый от компоновщика.Also ensure there is a /LIBPATH statement for each directory containing a linker-dependent file.

Дополнительные сведения см. в разделе lib files as input компоновщика.For more information, see .lib Files as Linker Input.

Другой возможной причиной для LNK1181 является то, что длинное имя файла с вложенными пробелами не заключено в кавычки.Another possible cause for LNK1181 is that a long file name with embedded spaces was not enclosed in quotation marks. В этом случае компоновщик распознает только имя файла до первого пространства, а затем предполагает расширение файла OBJ. Решением этой ситуации является заключение длинного имени файла (пути и имени файла) в кавычки.In that case, the linker will only recognize a file name up to the first space, and then assume a file extension of .obj. The solution to this situation is to enclose the long file name (path plus file name) in quotation marks.

Компиляция с параметром /p (Предварительная обработка в файл) может привести к LNK1181, так как этот параметр подавляет создание OBJ-файлов.Compiling with the /P (Preprocess to a File) option can result in LNK1181 because that option suppresses the creation of .obj files.

См. также разделSee also

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