Статическая библиотека Windows - PullRequest
0 голосов
/ 15 сентября 2010

Я создал статическую библиотеку, у меня есть .lib и заголовки.Мой друг пытается использовать эту библиотеку, но когда он включает эти заголовки, его компилятор не находит зависимости (другие библиотеки и заголовки).

Возможно ли создать статическую библиотеку в Visual Studio 2008, котораяне нужны никакие другие зависимости, просто компилятор добавляет необходимые зависимости в эту библиотеку signle?

Было бы хорошо, если бы ему не нужно было устанавливать winddk, wdk и т. д ...

Ответы [ 2 ]

0 голосов
/ 16 сентября 2010

Возможно ли создать статическую библиотеку в Visual Studio 2008, которая не нуждается в каких-либо других зависимостях, только компилятор добавляет необходимые зависимости в эту библиотеку signle?

да .. компилятор Microsoft Visual C не поддерживает сборку exe / lib с нулевой зависимостью
Нулевая зависимость = нужна только системная библиотека и msvcrt.dll

Mingw поддерживает использование -static в опциях компоновщика
сгенерирует среду выполнения msvcrt.dll, требующую бесплатной сборки, которая может быть найдена в любой системе.
что касается компилятора Visual C для Microsoft, для него потребуется та же версия среды выполнения c, например, msvcrt9p.dll, ...
это заставляет любого, кто хочет запустить приложение, загрузить ту же версию .Net Runtime, используемую в разработке

0 голосов
/ 15 сентября 2010

Я думаю, что вы хотите включить библиотеки времени выполнения в ваш .lib-файл.

  1. Щелкните правой кнопкой мыши ваш проект
  2. Перейдите в Свойства конфигурации -> C / C ++ -> КодПанель создания
  3. Для библиотеки времени выполнения выберите Многопоточная отладка (/ MTd)

Повторите шаги 1-3 для конфигурации выпуска.

Пользовательваш .lib файл должен будет сделать то же самое в своих .exes.Вам все равно нужно будет распространять файл .lib и файлы .h.

...