Название: QLibrary и VERSION Отправлено: Zmeishe от Ноябрь 30, 2010, 15:43 Есть библиотека - mylib. У неё в файле pro стоит VERSION = 2.0.0
В Linux помимо самой библиотеки создаются символические ссылки на неё libmylib.so libmylib.2.so libmylib.2.0.so и т.д. Вызоваю из другого модуля QLibrary lib("mylib"); никаких ошибок нет. В Windows библиотека сразу создаётся с именем mylib2.dll символических ссылок там нет. Вызываю из другого модуля QLibrary lib("mylib"); Естественно выдаёт ошибку, что библиотека не существует. Т.е. при смене версии библиотеки для Windows необходимо править исходники других модулей. А их ещё надо вспомнить. Как подавить дописывание номера версии к имени файла в Windows? Название: Re: QLibrary и VERSION Отправлено: BRE от Ноябрь 30, 2010, 15:49 Попробуй загружать:
QLibrary lib("mylib2"); Название: Re: QLibrary и VERSION Отправлено: Zmeishe от Ноябрь 30, 2010, 16:22 Попробуй загружать: QLibrary lib("mylib2"); Так я об этом написал: т.е. при смене версии библиотеки для Windows необходимо править исходники других модулей. Имелось ввиду именно это QLibrary lib("mylib2"); Но ведь надо вспомнить в каких модулях программы ипользуется обращение к mylib. Или каждый раз поиском шерстить. Не по фень-шую это. Название: Re: QLibrary и VERSION Отправлено: BRE от Ноябрь 30, 2010, 16:26 Ну вообще можно использовать константы:
Код
Изменение major-версии обычно говорит о каких-то глобальных изменениях библиотеки и как правило изменении API. Т.е. после таких изменений скорее всего придется что-то менять в клиентском коде для нормальной работы с этой библиотекой. Название: Re: QLibrary и VERSION Отправлено: Zmeishe от Ноябрь 30, 2010, 16:56 Нисколько не спорю.
Но хотелось делать одинаковую загрузку библиотеки, независимо от платформы. А так получается для Linux - QLibrary lib("mylib"); // независимо что там mylib.2.so, mylib.3.so, mylib.X.so для Win - QLibrary lib("mylib2"); // И никак иначе. Название: Re: QLibrary и VERSION Отправлено: BRE от Ноябрь 30, 2010, 17:04 Отказаться от указания версии в имени библиотеки?
Название: Re: QLibrary и VERSION Отправлено: Zmeishe от Ноябрь 30, 2010, 17:08 Вот только и остаётся в файле pro написать unix:VERSION=2.0.0 вместо VERSION=2.0.0
Название: Re: QLibrary и VERSION Отправлено: BlackTass от Ноябрь 30, 2010, 19:58 Ну просто считается что изменение мажорной версии это очень серьезное изменение и все равно придется половину переписывать (так как изменились интерфейсы, добавились/удалились классы и тд)
Название: Re: QLibrary и VERSION Отправлено: Alex Custov от Декабрь 01, 2010, 10:58 CONFIG += plugin
Название: Re: QLibrary и VERSION Отправлено: Zmeishe от Декабрь 01, 2010, 17:17 А причём тут плагин?
Название: Re: QLibrary и VERSION Отправлено: Alex Custov от Декабрь 04, 2010, 04:03 А причём тут плагин? при том, что раз ты грузишь библиотеку динамически, де-факто это плагин, либо нестрогая зависимость. plugin запрещает дописывать версию к библиотеке и создавать ссылки (в Linux). |