Fatal error lnk1104 не удается открыть файл msvcrtd lib

VC++ 2010
  • Remove From My Forums
  • Question

  • VC++ 2010

    Building almost empty prject began to receive the message of a builder:

    1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

    Having seen a bit of advice to reinstall VS++ 2010 did so and got an error as in a title.

    Actually, fewer items had been shown in an installation box (2 instead of 4 or 5).

    Is it possible to make me know either what and where from it is necessary to add or what to do to install what is necessary in full.

    Thanks.

Answers

  • MSVCRT.LIB is one of CRT libraries,you can look under  «C:Program FilesMicrosoft Visual Studio 9VClib» (in case of vs2008)directory. just search this file under vclib directory, if the linker cannot find this file,
    then most likely that this file is corrupted or LIBPATH environment variable was set incorrectly, 

    http://msdn2.microsoft.com/en-us/library/ts7eyw4s(VS.80).aspx, if problem persist, please let me know.

    Thanks


    Rupesh Shukla

    • Edited by

      Saturday, September 29, 2012 2:38 AM

    • Proposed as answer by
      Renjith V Ramachandran
      Saturday, September 29, 2012 7:08 AM
    • Marked as answer by
      VictorDrb
      Saturday, September 29, 2012 10:13 AM

  • Feeel free to ask your all question here . Everyone will be happy to assist you in resolving your problem.

    Thanks


    Rupesh Shukla

    • Marked as answer by
      VictorDrb
      Sunday, September 30, 2012 6:29 AM

  • Can you show your code here.And did you check the link given in my last post.And check file in the path of C:Program Files<Microsoft Visual Studio Version>VCinclude. May be file is deleted or something else . Check your Project setting whether
    path is there or not. You should check that your command prompt environment is set up correctly. There should be an environment variable named
    INCLUDE that has a directory similar to the c following (among other directories) in it:

    Thanks


    Rupesh Shukla

    • Edited by
      Pintu Shukla
      Sunday, September 30, 2012 3:21 PM
    • Marked as answer by
      VictorDrb
      Sunday, September 30, 2012 3:28 PM

  • Why not you just get VS2010 CD just buy it or get it from someone to remove all this issue .Seems you wasted a lots of time and in case of trail version you can install whatever you want .You don’t have to pay anything

    Thanks


    Rupesh Shukla

    • Marked as answer by
      VictorDrb
      Tuesday, October 2, 2012 3:19 PM

  • sir,

        I am using vs2008 and in my vc/lib folder i am not finding » MSVCRTD.lib » .So please help me to fix it as soon as possible. Your every effort will be helpful for me.


    Amit sharma

    Please create a new thread for your question . Will try to solve your issue .Dont forget to mention your error in your post.

    Thanks


    Rupesh Shukla

    • Marked as answer by
      VictorDrb
      Saturday, December 15, 2012 10:22 AM

I am attempting to run python setup.py install --yes USE_AVX_INSTRUCTIONS, When I do I get the following output

subprocess.CalledProcessError: Command ‘[‘cmake’, ‘D:dlibtoolspython’, ‘-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=D:dlibbuildlib.win-amd64-3.6’, ‘-DPYTHON_EXECUTABLE=C:UsersScottAppDataLocalProgramsPythonPython36python.exe’, ‘-DUSE_AVX_INSTRUCTIONS=yes’, ‘-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=D:dlibbuildlib.win-amd64-3.6’, ‘-A’, ‘x64′]’ returned non-zero exit status 1.

Checking CMakeError.log gives the error

Link:
D:Program Files (x86)Microsoft Visual Studio2017CommunityVCToolsMSVC14.12.25827binHostX64x64link.exe /ERRORREPORT:QUEUE /OUT:».CompilerIdC.exe» /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:»level=’asInvoker’ uiAccess=’false'» /manifest:embed /PDB:».CompilerIdC.pdb» /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:».CompilerIdC.lib» /MACHINE:X64 DebugCMakeCCompilerId.obj
LINK : fatal error LNK1104: cannot open file ‘MSVCRTD.lib’ [D:dlibbuildtemp.win-amd64-3.6ReleaseCMakeFiles3.6.2CompilerIdCCompilerIdC.vcxproj]
Done Building Project «D:dlibbuildtemp.win-amd64-3.6ReleaseCMakeFiles3.6.2CompilerIdCCompilerIdC.vcxproj» (default targets) — FAILED.

Expected Behavior

I expected the compile to complete sucessfully

Current Behavior

console output.txt
CMakeError.log
CMakeOutput.log

Steps to Reproduce

  • Open the «x64 Native Tools Command Prompt for VS 2017» command prompt.
  • Run the following commands
C:UsersScottSource>D:
D:Program Files (x86)Microsoft Visual Studio2017Community>cd
D:>git clone https://github.com/davisking/dlib.git
D:>cd dlib
D:dlib>python setup.py install --yes USE_AVX_INSTRUCTIONS
  • Version: ca1c7af
  • Where did you get dlib: Github
  • Platform: Windows 10 Enterprise — 64 bit — Version 1709
  • Compiler: Microsoft (R) C/C++ Optimizing Compiler Version 19.12.25835 for x64
  • Linker: Microsoft (R) Incremental Linker Version 14.12.25835.0

I likely have something simply set up stupid in my environment that is causing this to not work, I am primarally a .NET developer so compiling native apps is a little new to me. Here is a copy of the environment variables that are set in the command window

Содержание

  1. Ошибка средств компоновщика LNK1104
  2. Не удается открыть приложение или PDB-файл
  3. Приложение запущено или загружено в отладчик.
  4. Ваше приложение заблокировано антивирусной проверкой
  5. Не удается открыть файл библиотеки Майкрософт
  6. Библиотеки Windows, такие как kernel32.lib
  7. Библиотеки vcruntime с версиями
  8. Библиотеки для розничной торговли, отладки или платформы
  9. Библиотека vccorlib.lib
  10. Библиотеки в проектах из интернета или других источников
  11. Обновленные библиотеки Windows SDK
  12. Не удается открыть сторонний файл библиотеки
  13. Не удается открыть файл, созданный проектом
  14. Не удается открыть файл C:Program.obj
  15. Другие распространенные проблемы
  16. Проблемы с путем или именем файла
  17. Параллельная синхронизация сборки
  18. Дополнительные зависимости, указанные в интегрированной среде разработки
  19. Слишком длинные пути
  20. Слишком большие файлы
  21. Неправильные разрешения на файл
  22. Недостаточно места на диске
  23. Проблемы в переменной среды TMP
  24. Помощь, моя проблема не указана здесь!
  25. Visual Studio C ++ / CLI Таинственная ошибка с шаблоном
  26. Решение
  27. Другие решения

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

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

программа уже запущена или загружена в отладчик и

пути к библиотеке неверны или не заключены в двойные кавычки.

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

Не удается открыть приложение или PDB-файл

Приложение запущено или загружено в отладчик.

Если имя файла — это имя исполняемого файла или связанный PDB-файл, проверьте, запущено ли приложение. Затем проверьте, загружена ли она в отладчик. Чтобы устранить эту проблему, остановите программу и выгрузите ее из отладчика перед повторной сборкой. Если приложение открыто в другой программе, например редактор ресурсов, закройте его. Если программа не отвечает, может потребоваться использовать диспетчер задач для завершения процесса. Кроме того, может потребоваться закрыть и перезапустить Visual Studio.

Ваше приложение заблокировано антивирусной проверкой

Антивирусные программы часто временно блокируют доступ к вновь созданным файлам, особенно .exe и .dll исполняемым файлам. Чтобы устранить эту проблему, попробуйте исключить каталоги сборки проекта из антивирусного сканера.

Не удается открыть файл библиотеки Майкрософт

Библиотеки Windows, такие как kernel32.lib

Если файл, который не удается открыть, является одним из файлов стандартной библиотеки, предоставляемых корпорацией Майкрософт, например kernel32.lib, может возникнуть ошибка конфигурации проекта или ошибка установки. Убедитесь, что пакет WINDOWS SDK установлен. Если для проекта требуются другие библиотеки Майкрософт, такие как MFC, убедитесь, что компоненты MFC также установлены установщиком Visual Studio. Установщик можно запустить еще раз, чтобы добавить дополнительные компоненты в любое время. Дополнительные сведения см. в Изменение Visual Studio. Используйте вкладку «Отдельные компоненты » в установщике, чтобы выбрать определенные библиотеки и пакеты SDK.

Библиотеки vcruntime с версиями

Если сообщение об ошибке содержит версию библиотеки Майкрософт, например msvcr120.lib, набор инструментов платформы для этой версии компилятора может быть не установлен. Чтобы устранить эту проблему, у вас есть два варианта: обновить проект, чтобы использовать текущий набор инструментов платформы, или установить старый набор инструментов и выполнить сборку проекта без изменений. Дополнительные сведения см. в разделе «Обновление проектов с более ранних версий Visual C++ и использование собственного многонацеливания в Visual Studio для сборки старых проектов».

Библиотеки для розничной торговли, отладки или платформы

Эта ошибка может возникнуть при первой сборке для новой целевой платформы или конфигурации, например розничной торговли или ARM64. Убедитесь, что в интегрированной среде разработки установлены набор инструментов платформы и версия windows SDK , указанные на странице свойств «Общие «. Также убедитесь, что необходимые библиотеки доступны в каталогах библиотек, указанных на странице свойств каталогов VC++. Проверьте свойства каждой конфигурации, такие как отладка, розничная торговля, x86 или ARM64. Если одна сборка работает, но другая нет, сравните параметры для обоих. Установите все отсутствующие необходимые средства и библиотеки.

Библиотека vccorlib.lib

Для приложений или компонентов универсальной платформы Windows (UWP) нет библиотек, смягчаемых spectre. Если сообщение об ошибке содержит vccorlib.lib, возможно, вы включили /Qspectre в проекте UWP. Отключите параметр компилятора /Qspectre , чтобы устранить эту проблему. В Visual Studio измените свойство «Устранение рисков Spectre «. Он находится на странице создания кодаC/C++> диалогового окна страниц свойств проекта.

Библиотеки в проектах из интернета или других источников

При сборке проекта, скопированного с другого компьютера, расположения установки библиотеки могут отличаться. Для сборок командной строки убедитесь, что переменная среды LIB и пути библиотеки заданы правильно для сборки. В Visual Studio можно просматривать и изменять текущие пути библиотеки, заданные на страницах свойств проекта. На странице каталогов VC++ выберите раскрывающийся список для свойства «Каталоги библиотеки «, а затем нажмите кнопку «Изменить«. В разделе «Оцененное значение » диалогового окна «Каталоги библиотеки » перечислены текущие пути, которые искали файлы библиотеки. Обновите эти пути, чтобы они указывали на локальные библиотеки.

Обновленные библиотеки Windows SDK

Эта ошибка может возникать, если путь Visual Studio к Пакету SDK для Windows устарел. Это может произойти, если вы устанавливаете более новый пакет SDK для Windows независимо от установщика Visual Studio. Чтобы исправить его в интегрированной среде разработки, обновите пути, указанные на странице свойств каталогов VC++. Задайте версию в пути, чтобы она соответствовала новому пакету SDK. Если вы используете командную строку разработчика, обновите пакетный файл, который инициализирует переменные среды новыми путями пакета SDK. Эту проблему можно избежать с помощью установщика Visual Studio для установки обновленных пакетов SDK.

Не удается открыть сторонний файл библиотеки

Эта проблема связана с несколькими распространенными причинами.

Путь к файлу библиотеки может быть неправильным или не заключен в двойные кавычки. Или, возможно, вы не указали его компоновщику.

Возможно, вы установили 32-разрядную версию библиотеки, но вы создаете для 64-разрядных или наоборот.

Библиотека может иметь зависимости от других библиотек, которые не установлены.

Чтобы устранить проблему пути для сборок из командной строки, убедитесь, что задана переменная среды LIB. Убедитесь, что он содержит пути для всех используемых библиотек и для каждой сборки конфигурации. В интегрированной среде разработки пути библиотеки задаются свойствомкаталогов>библиотеки VC++. Убедитесь, что все каталоги, содержащие необходимые библиотеки, перечислены здесь для каждой сборки конфигурации.

Возможно, потребуется указать каталог библиотеки, который переопределяет каталог стандартной библиотеки. В командной строке используйте параметр /LIBPATH . В интегрированной среде разработки используйте свойство «Дополнительные каталоги библиотек» на странице свойств компоновщика > конфигурации > общего свойства проекта.

Убедитесь, что установлены все версии библиотеки, необходимые для конфигураций, которые вы создаете. Рассмотрите возможность использования служебной программы управления пакетами vcpkg для автоматизации установки и установки для многих общих библиотек. Когда это возможно, лучше создавать собственные копии сторонних библиотек. После этого вы уверены, что все локальные зависимости библиотек созданы для тех же конфигураций, что и проект.

Не удается открыть файл, созданный проектом

Эта ошибка может появиться, если имя файла еще не существует, когда компоновщик пытается получить к нему доступ. Это может произойти, если один проект зависит от другого в решении, но проекты создаются в неправильном порядке. Чтобы устранить эту проблему, убедитесь, что ссылки на проекты заданы в проекте, который использует файл. Затем отсутствующий файл будет создан до его необходимости. Дополнительные сведения см. в статье «Добавление ссылок в проектах Visual Studio C++ и управление ссылками в проекте».

Не удается открыть файл C:Program.obj

Если в сообщении об ошибке отображается имя файла C:Program.obj , заключите пути библиотеки в двойные кавычки. Эта ошибка возникает, когда несмеченный путь, начинающийся с C:Program Files , передается компоновщику. Несмеченные пути также могут привести к аналогичным ошибкам. Как правило, они отображают непредвиденный OBJ-файл в корне диска.

Чтобы устранить эту проблему для сборок из командной строки, проверьте параметры параметра /LIBPATH . Также проверьте пути, указанные в переменной среды LIB, и пути, указанные в командной строке. Обязательно используйте двойные кавычки для всех путей, включающих пробелы.

Чтобы устранить эту проблему в интегрированной среде разработки, добавьте двойные кавычки при необходимости в следующие свойства проекта:

Свойство «Каталоги библиотеки » на странице свойств каталогов VC++ «Свойства > конфигурации» ,

Свойство «Дополнительные каталоги библиотек» на странице свойств компоновщика > конфигурации > «Общие свойства»

Свойство Additional Dependencies (Дополнительные зависимости) на странице входных данных компоновщика свойств компоновщика > конфигурации>.

Другие распространенные проблемы

Проблемы с путем или именем файла

Эта ошибка может возникать, если имя файла библиотеки или путь, указанный компоновщику, неправильный. Или, если путь содержит недопустимую спецификацию диска. Просмотрите командную строку или в любой директиве #pragma comment( lib, «library_name» ) для проблем. Проверьте орфографию и расширение файла и убедитесь, что файл существует в указанном расположении.

Параллельная синхронизация сборки

Если вы используете параметр параллельной сборки, Visual Studio, возможно, заблокировали файл в другом потоке. Чтобы устранить эту проблему, убедитесь, что один и тот же объект кода или библиотека не встроены в несколько проектов. Используйте зависимости сборки или ссылки на проекты для получения встроенных двоичных файлов в проекте.

Дополнительные зависимости, указанные в интегрированной среде разработки

При указании отдельных библиотек непосредственно в свойстве «Дополнительные зависимости» используйте пробелы для разделения имен библиотек. Не используйте запятые или точки с запятой. Если вы используете пункт меню «Изменить «, чтобы открыть диалоговое окно «Дополнительные зависимости» , используйте новые строки, чтобы разделить имена, а не запятые, точки с запятой или пробелы. Также используйте новые линии при указании путей к библиотеке в диалоговых окнах каталогов библиотек и дополнительных каталогов библиотек .

Слишком длинные пути

Эта ошибка может появиться, когда путь к имени файла расширяется до более чем 260 символов. При необходимости измените структуру каталога или сократите имена папок и файлов, чтобы сократить пути.

Слишком большие файлы

Эта ошибка может возникнуть из-за слишком большого размера файла. Библиотеки или файлы объектов, превышающие размер гигабайта, могут вызвать проблемы для 32-разрядного компоновщика. Возможное исправление этой проблемы — использовать 64-разрядный набор инструментов. Дополнительные сведения об использовании 64-разрядного набора инструментов в командной строке см. в разделе «Практическое руководство. Включение 64-разрядного набора инструментов Visual C++ в командной строке». Сведения об использовании 64-разрядного набора инструментов в интегрированной среде разработки см. в статье «Использование MSBuild с 64-разрядным компилятором и инструментами». См. также эту запись Stack Overflow: как сделать Visual Studio использовать собственную цепочку инструментов amd64.

Неправильные разрешения на файл

Эта ошибка может возникнуть, если у вас недостаточно разрешений на доступ к имени файла. Это может произойти, если вы используете обычную учетную запись пользователя для доступа к файлам библиотек в защищенных системных каталогах. Или, если вы используете файлы, скопированные другими пользователями, которые по-прежнему имеют свои исходные разрешения. Чтобы устранить эту проблему, переместите файл в каталог проектов, доступный для записи. Если перемещаемый файл имеет недоступные разрешения, выполните команду takeown.exe в окне командной строки администратора, чтобы взять на себя владение файлом.

Недостаточно места на диске

Ошибка может возникать, если у вас недостаточно места на диске. Компоновщик использует временные файлы в нескольких ситуациях. Даже если у вас достаточно места на диске, большая ссылка может очертить или фрагментировать доступное место на диске. Рассмотрите возможность использования параметра /OPT (оптимизация); выполнение транзитивного исключения COMDAT считывает все файлы объектов несколько раз.

Проблемы в переменной среды TMP

Если имя файла называется LNKnnn, это имя файла, созданное компоновщиком для временного файла. Каталог, указанный в переменной среды TMP, может не существовать. Или для переменной среды TMP может быть указано несколько каталогов. Для переменной среды TMP следует указать только один путь к каталогу.

Помощь, моя проблема не указана здесь!

Если ни одна из перечисленных здесь проблем не возникает, вы можете использовать средства обратной связи в Visual Studio для получения справки. В интегрированной среде разработки перейдите в строку меню и выберите «Отправить > отзыв о > проблеме«. Кроме того, отправьте предложение с помощью справки > по отправке отзывов>. Вы также можете использовать сайт Microsoft Learn Q&A для вопросов и веб-сайт Visual Studio C++ Сообщество разработчиков. Используйте эти сайты для поиска ответов на вопросы и запроса справки. Дополнительные сведения см. в статье «Как сообщить о проблеме с набором инструментов или документацией visual C++».

Если вы обнаружили новый способ устранения этой проблемы, которую мы должны добавить в эту статью, сообщите нам об этом. Вы можете отправить нам отзыв с помощью кнопки ниже для этой страницы. Используйте его для создания новой проблемы в репозитории GitHub документации по C++. Спасибо!

Источник

Visual Studio C ++ / CLI Таинственная ошибка с шаблоном

Ну, я пытался создать C ++ DLL в Visual Studio 2015, что заняло какое-то время, так как я не очень хорош в Visual Studio.

Мне нужно получить доступ к библиотекам .NET, в частности System :: Management. (Написание кода было немного сложнее, чем требовалось из-за плохой реализации C ++, но, по крайней мере, он есть.)

Я исправил очевидные ошибки и, наконец, понял, что мне нужно включить CLR в свойствах проекта, а затем выбрать связанные библиотеки с помощью References-> Add Reference. Но после всего этого, теперь это просто странная ошибка:

Компилятор не показывает красные волнистые линии под чем-либо, и ошибка утверждает, что строка — «1», а файл — «ССЫЛКА», так что тут никакой помощи.

Я подумал, что, возможно, где-то испортил конфигурацию проекта, поэтому я создал новый проект и перенес код. Ошибка все еще произошла. Если я отключил CLR и прокомментировал .NET-зависимый код, сборка прошла без ошибок.

Поэтому я попытался создать новый проект из шаблона (Visual C ++ -> Win32 Console Application) и затем включить CLR, прежде чем делать что-либо еще. Затем я попробовал еще раз, выбрав разные версии .NET Framework.

Наконец, я попытался создать проект с шаблоном (Visual C ++ -> CLR -> CLR Console Application) и сразу же создать его. Я имею в виду буквально, не делая ничего другого. Это все еще дало ту же ошибку!

Что на земле происходит? Я что-то не так делаю или VS2015 просто сломан?

Решение

Попробуй это,
Щелкните правой кнопкой мыши проект, который показывает «LNK1104: невозможно открыть файл« MSCOREE.lib », затем выберите« Свойства »->« Свойства конфигурации »->« Каталоги VC ++ »->« Каталоги библиотек »-> Добавить обе записи снизу, разделенные точкой с запятой

Именно здесь должен быть ваш mscoree.lib, проверьте его там, прежде чем делать это, в противном случае вам может потребоваться установить / переустановить Microsoft SDK.

Другие решения

В некоторых ситуациях SDK может не установить необходимые файлы в папке LIB, как описано в MSCoree.lib отсутствует в WinSDK . Их решение состояло в том, чтобы выполнить ремонт установки. Это может не сработать.

Я успешно побежал WinSDKInterop_amd64WinSDKInterop_amd64.msi в результате чего создается:

Источник

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Fatal error lnk1104 не удается открыть файл dll
  • Fatal error lnk1104 cannot open file mscoree lib
  • Fatal error lnk1104 cannot open file libcpmt lib
  • Fatal error lnk1104 cannot open file kernel32 lib
  • Fatal error lnk1000 internal error during image buildimage

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии