две статические библиотеки - PullRequest
3 голосов
/ 18 марта 2010

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

Ответы [ 3 ]

1 голос
/ 18 марта 2010

Смотрите в свойствах проекта | Свойства конфигурации | Библиотекарь | Общий

Укажите имя файла библиотеки (.lib), который вы хотите добавить в свою библиотеку, в поле «Дополнительные зависимости»

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

0 голосов
/ 18 марта 2010

Вот один из способов:

  1. Найти все объектные файлы в статической библиотеке. Это можно сделать, выполнив команду lib STATICLIB /list
  2. Извлечение каждого объекта в списке. Вы должны дать точное имя из шага 1 (lib STATICLIB /extract:.\debug\foo.obj)
  3. Затем вы можете добавить все объекты, извлеченные из шага 2, в свою библиотеку
0 голосов
/ 18 марта 2010

VC ++ включает в себя менеджер библиотеки командной строки с именем lib.exe . Он может использоваться для объединения как объектных файлов, так и файлов библиотек в одну библиотеку .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...