Visual Studio .NET 2003 - игнорировать определенную библиотеку для libcmt vs libcmtd

StackOverflow https://stackoverflow.com/questions/4344569

  •  30-09-2019
  •  | 
  •  

Вопрос

У меня есть шаблон VS .NET 2003 проект, который коллеги копируют и настраивают при разработке своего программного обеспечения.

Похоже, что шаблон был изменен некоторое время назад, чтобы установить игнореспецификативное свойство, имеющее libcmt.lib как для отладки, так и для отладки, так и для отладки, так и для отладки, создания для отладки, так и для отладки, сборка должна игнорировать libcmt.lib в компоновке).

Некоторые проекты, основанные на этом с момента построены, с вытягиванием выпуска вытягивания в Libcmtd.lib (очевидно, просматривая файл проекта. был установлен).

Установка INGLORESSESSECIFINGLIBRAIBRAUS исключает LibCMT.Lib автоматически сделать ссылку проекта против libcmtd.lib?

Что такое странно, это создание шаблона (с неправильной настройкой) ссылками против libcmt.lib, тогда как некоторые из индивидуальных проектов (хотя и не все) ссылка против libcmtd.lib.

Есть идеи?

Это было полезно?

Решение

Это то, что произошло:

После компиляции линкера принимает ваши объекты-файлы и создают среди других таблиц символов, которая имеет запрос Symol-запроса, который не был полностью заполнен. Затем линкер проходит ваш список библиотек, пытающихся разрешить эти неразличные символы. Поскольку вы игнорируете libcmt.lib, ваша сторонняя библиотека покинула или добавила некоторые неразрешенные символы, и он содержит запрос на компоновку для разрешения этих из Licmtd.lib (и, может быть, и другие libs), поскольку он был кончиком с отладкой.

Если вы не проигнорировали libcmt.lib эти символы, скорее всего, будут разрешены libcmt.lib и не было необходимости тянуть в вещах от libcmtd.lib (хотя бы было бы посмотреть, чтобы решить другие символы, которые все еще не были недобросовестными)

Вы можете попробовать Igmore libcmtd.lib. Если вы теперь получаете Unrorsoldd Externals, то это было проверенно не очень хорошей идеей игнорировать libcmt.dll.

Другие советы

Многие проекты игнорируют libcmt.lib, потому что он конфликтует с динамической версией msvcrt.lib. Игнорирование libcmt в линкер сделайте проект компиляции с помощью msvcrt.lib

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top