Название: динамическая библиотека Отправлено: AlexeyChe от Июнь 22, 2011, 17:06 Добрый день.
Не первый день мучаюсь с сабжем, листал форум, делал по указаниям, но в итоге никак не линкуется библиотека, хотя всё вроде прозрачно. prlib.pro Код: QT -= gui pr_lib.h Код:
Библиотека линкуется, выдает на выходе prlib1.dll и libprlib1.a После я их добавляю в папку проекта /lib Заголовочный файл pr_lib.h в папку проекта /include Сам файл проекта: pr.pro Код: ... Сам проект собирается в папке src Ошибка при сборке отвратительно типичная: Код: c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot find -lprlib prlib1.dll пихал куда только можно и нельзя. Видеть не хочет вообще попробовал вариант прямого указания пути через QMAKE_LFLAGS, не помогло Windows/Mingw Название: Re: динамическая библиотека Отправлено: kambala от Июнь 22, 2011, 18:46 может компилятор ищет библиотеку "prlib", а не "prlib1"? 1 - это типа версия библиотеки?
Название: Re: динамическая библиотека Отправлено: m_ax от Июнь 22, 2011, 18:49 может компилятор ищет библиотеку "prlib", а не "prlib1"? 1 - это типа версия библиотеки? Так и есть. Нужно вместоКод писать Код
Название: Re: динамическая библиотека Отправлено: iks от Июнь 22, 2011, 22:54 или вот тут отвечал http://www.prog.org.ru/index.php?topic=18321.msg124868#new и пример есть
Название: Re: динамическая библиотека Отправлено: AlexeyChe от Июнь 23, 2011, 10:37 Я перепробовал разные варианты
вообще походу правильно именно -lprlib потому что компилятор сам выбирает более новую версию библиотеки http://www.prog.org.ru/topic_8259_0.html Цитировать Увидев VERSION, qmake во-первых, принимает необходимые меры, чтобы эта версия прописалась вo внутренних свойствах DLL, а, во-вторых — приписывает ее старший номер к имени создаваемого DLL. Т.е. в нашем примере это будет dlabel1.dll. Соответственно, если мы изменим интерфейс нашей библиотеки до полной несовместимости, для предотвращения использования ее старыми приложениями мы должны будем просто сменить VERSION на 2.0.0. И тогда новые версии будут использовать dlabel2.dll, старые — dlabel1.dll. ... Код: ... iks, я пока не хочу пробовать plugin, хотелось бы с этим разобраться нормально |