Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Elfet от Декабрь 15, 2009, 15:54



Название: Создание и подключение статических библиотек
Отправлено: Elfet от Декабрь 15, 2009, 15:54
Привет всем!

Объясните, пожалуйста, как корректно создавать и подключать статические библиотеки в Qt?
(предполагается импорт функций и классов)

Пытаюсь создать "интуитивно", что-то получается похожее на библиотеку - создаётся файл с расширением *.a (почему не lib?!)
Но при попытке использовать эту библиотеку, начинают вылезать ошибки типа

undefined reference to `_imp___ZN9LinAlgLibC1Ev'

Ничего не понимаю =)))
Можт какие-нибудь дополнительные директивы нужно добавить?

Спасибо.


Название: Re: Создание и подключение статических библиотек
Отправлено: lit-uriy от Декабрь 15, 2009, 15:58
>>создаётся файл с расширением *.a (почему не lib?!)
стало быть пользуешься компилятором GNU, а не Студией и не борландом


Название: Re: Создание и подключение статических библиотек
Отправлено: Elfet от Декабрь 15, 2009, 22:05
Да, minGW.


Название: Re: Создание и подключение статических библиотек
Отправлено: crackedmind от Декабрь 16, 2009, 08:18
Например:
Код:
LIBS += -lkernel32
И эта конструкция подключит libkernel32.a


Название: Re: Создание и подключение статических библиотек
Отправлено: Elfet от Декабрь 16, 2009, 13:16
У меня вот что выдает теперь:
D:\Qt\2009.04\mingw\bin\..\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -llibmyl

Где нужно размещать библиотеку что бы её было видно? Или как указать из какого каталога нужно загружать библиотеку?


Название: Re: Создание и подключение статических библиотек
Отправлено: lit-uriy от Декабрь 16, 2009, 13:41
Прочитай вот эту статью Создание динамических библиотек (http://www.prog.org.ru/topic_8259_0.html)
Там вся основа расписана.


Название: Re: Создание и подключение статических библиотек
Отправлено: Elfet от Декабрь 16, 2009, 14:42
lit-uriy, это динамические библиотеки. А мне нужна статическая. Но кажется я уже разобрался как это делается.


Название: Re: Создание и подключение статических библиотек
Отправлено: lit-uriy от Декабрь 16, 2009, 15:11
>>lit-uriy, это динамические библиотеки.
А в чём разница?


Название: Re: Создание и подключение статических библиотек
Отправлено: Elfet от Декабрь 16, 2009, 15:18
Основная разница между статическими и динамическими библиотеками заключается в следующем: Если используется статическая библиотека, то на стадии редактирования связей в состав исполняемого модуля включаются все функции, для которых обнаружено обращение из текста исходной программы. В отличие от этого вызов модуля из динамической библиотеки происходит только на стадии выполнения программы. При таком подходе библиотечные функции не включаются в состав исполняемого модуля, его размеры становятся меньше и, тем самым, экономится место, занимаемое исполняемыми файлами на диске.


Название: Re: Создание и подключение статических библиотек
Отправлено: lit-uriy от Декабрь 16, 2009, 17:22
из написаного я не вижу причин, чтобы не воспользоваться руководством ссылку на которое я привёл. Тем более, что я написал:
"Там вся основа расписана."
И такие элементарные вещи как "... как указать из какого каталога нужно загружать библиотеку?" там есть


Название: Re: Создание и подключение статических библиотек
Отправлено: Elfet от Декабрь 16, 2009, 23:19
Я уже сам разобрался. И так в той статье, не то ;)


Название: Re: Создание и подключение статических библиотек
Отправлено: Mouse12x3oz от Ноябрь 06, 2011, 22:39
Здравствуйте!!! Как?Как Вы разобрались??У меня та же проблема!