Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объединение нескольких lib в один, объединение статических библиотек 
:(
    Опции темы
UfoLand
  Дата 7.5.2008, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Вопрос!
Создал библиотечку F1.lib - в ней реализована некая функция func1();
Создал библиотечку F2.lib - в которой реализована функция func2(), при этом func2() в своей работе выполняет func1() из F1.lib

Написал программку которая использует func2() (подключил в проекте при этом ТОЛЬКО библиотеку F2.lib) -  ошибка Link'ера : Error LNK2011 precompiled object not linked in; image may not run
Если подключаю обе библиотеки F1.lib и F2.lib - всё хорошо...
Как мне собирать библиотеку F2.lib так, что бы было бы достаточно подключать ТОЛЬКО её???

Среда: Visual Studio 2005

Мои Догадки: нужны какие то особенные настройки в проекте????

Спасибо!

Это сообщение отредактировал(а) UfoLand - 7.5.2008, 13:19
PM MAIL   Вверх
Lazin
Дата 7.5.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(UfoLand @  7.5.2008,  12:51 Найти цитируемый пост)
Мои Догадки: нужны какие то особенные настройки в проекте????

нет, так как у тебя ошибка компиляции, то наличие и отсутствие библиотек здесь не причем, до них дело еще да-же не дошло. Где-то ошибка в исходном коде проекта использующего f2.lib (может забыл заголовочный файл с функцией func1 подключить?)
PM MAIL Skype GTalk   Вверх
Rififi
Дата 7.5.2008, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 11
Всего: 36



перенести тело функции func1 в библиотеку f2
PM MAIL   Вверх
Lazin
Дата 7.5.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



и вообще что за смысл объединять lib библиотеки, тебе-же их деплоить не надо...
PM MAIL Skype GTalk   Вверх
UfoLand
Дата 7.5.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Цитата(Lazin @  7.5.2008,  13:05 Найти цитируемый пост)
нет, так как у тебя ошибка компиляции, то наличие и отсутствие библиотек здесь не причем, до них дело еще да-же не дошло. Где-то ошибка в исходном коде проекта использующего f2.lib (может забыл заголовочный файл с функцией func1 подключить?) 


Виноват, ошибку выдаёт Link'ер:  Error LNK2011 precompiled object not linked in; image may not run


Цитата(Rififi @  7.5.2008,  13:05 Найти цитируемый пост)
перенести тело функции func1 в библиотеку f2 

Такой вариант не нужен, в реалии F1.lib огромна,а F2.lib просто организует некоторую работу на основе функций из F1.lib. Или, неужели нет возможности их объединить?


Цитата(Lazin @  7.5.2008,  13:07 Найти цитируемый пост)
тебе-же их деплоить не надо...

Деплоить - чего это такое?)))
PM MAIL   Вверх
Rififi
Дата 7.5.2008, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 11
Всего: 36



F2.lib просто организует некоторую работу на основе функций из F1.lib
то есть ты в F2 используешь набор функций из F1, а потом хочешь подключить к проекту только F2, чтобы функционал F1 брался из вакуума?

PM MAIL   Вверх
Lazin
Дата 7.5.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



ну а смысл в этом, это-же не dll-ка, lib-ы прилинкуются к exe-шнику и все, 2,3,..10 какая разница, вместе с программой их таскать не надо будет.

ps
так у тебя скоро возникнет желание все системные либы запихать в один lib файл, что-бы подключать было удобней  smile 
PM MAIL Skype GTalk   Вверх
UfoLand
Дата 7.5.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Цитата(Rififi @  7.5.2008,  13:23 Найти цитируемый пост)
а потом хочешь подключить к проекту только F2, чтобы функционал F1 брался из вакуума?

Я хочу собрать F2.lib так, что бы в неё включились функции из F1.lib

Ну вот я создаю *.exe и могу прикрепить библиотек к нему, и потом мне не приходиться таскать её с собой, в данном случае я создаю *.lib на основе другой библиотеки
PM MAIL   Вверх
Lazin
Дата 7.5.2008, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



Цитата(UfoLand @  7.5.2008,  13:17 Найти цитируемый пост)
Деплоить - чего это такое?))) 

поставлять пользователю
PM MAIL Skype GTalk   Вверх
UfoLand
Дата 7.5.2008, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



Цитата(Lazin @  7.5.2008,  13:26 Найти цитируемый пост)
ну а смысл в этом, это-же не dll-ка, lib-ы прилинкуются к exe-шнику и все, 2,3,..10 какая разница, вместе с программой их таскать не надо будет.


НУ вот надо мне -))
PM MAIL   Вверх
Rififi
Дата 7.5.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 11
Всего: 36



exe/dll - это самодостаточный исполняемый файл с уже разрезолвенными зависимостями. lib - нет; зависимости разрешаются только на этапе линковки.
PM MAIL   Вверх
UfoLand
Дата 7.5.2008, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 13.9.2007

Репутация: нет
Всего: нет



спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1287 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.