Созать статическую и динмическую библиотеку
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 17.08.10 17:19
Оценка:
Понадобилось создать статическую и динамическую библиотеку для моего приложение. В качестве билдовой системы использую qmake. Пробовало установить CONFIG += dll staticlib, но при этом собирается то, что установил последним 9статика, но нет динамической).
Может кто-нибудь подскажет как быть?
Sic luceat lux!
Re: Созать статическую и динмическую библиотеку
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 17.08.10 17:25
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Понадобилось создать статическую и динамическую библиотеку для моего приложение. В качестве билдовой системы использую qmake. Пробовало установить CONFIG += dll staticlib, но при этом собирается то, что установил последним 9статика, но нет динамической).

K>Может кто-нибудь подскажет как быть?
UPD: Сделать это надо одновременно.
Sic luceat lux!
Re[2]: Созать статическую и динмическую библиотеку
От: Вертер  
Дата: 17.08.10 17:55
Оценка: 1 (1)
K>>Понадобилось создать статическую и динамическую библиотеку для моего приложение. В качестве билдовой системы использую qmake. Пробовало установить CONFIG += dll staticlib, но при этом собирается то, что установил последним 9статика, но нет динамической).
K>>Может кто-нибудь подскажет как быть?
K>UPD: Сделать это надо одновременно.

Что-то непонятное.
Делаете два проекта, один типа lib, а второй типа dll. Первый подключается ко второму.

1 проект
TEMPLATE = lib
CONFIG += staticlib

2 проект
можно так:
TEMPLATE = lib
CONFIG += qt
CONFIG += plugin

а можно так:
TEMPLATE = lib
CONFIG += dll
CONFIG += embed_manifest_dll # не обязательно
QT -= gui # не обязательно

потом во втором проекте надо указать
LIBS *= моя_статическая_библиотека.lib
Re[3]: Созать статическую и динмическую библиотеку
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 18.08.10 11:51
Оценка:
Здравствуйте, Вертер, Вы писали:

В>Что-то непонятное.

В>Делаете два проекта, один типа lib, а второй типа dll. Первый подключается ко второму.

У меня дерево сорцов в неём есть папка libxxx содержащая исходный код.
Получается, я должен в папке libxx сделать 2 проектных файла
libxxSL.pro и libxxDL.pro
тогда это будет выглядет как-то так:

libxxSL.pro
TEMPLATE = lib
CONFIG += staticlib
#Здесь я должен перечислить сорсы и хедеры, таргеты и т.п


libxxDL.pro
TEMPLATE = lib
ONFIG += dll
CONFIG += embed_manifest_dll # не обязательно
QT -= gui
#надо ли здесь собирать мою библиотеку второй раз  :???: или LIBS *= будет достаточно?
LIBS *= моя_статическая_библиотека.lib

Получается, когда я собираю всё дерево сорцов начиная с корня, то у меня будут две либы статическая и деинамическая.
Я правильно всё понял?
Sic luceat lux!
Re[4]: Созать статическую и динмическую библиотеку
От: Вертер  
Дата: 18.08.10 21:28
Оценка: 1 (1)
K>Получается, когда я собираю всё дерево сорцов начиная с корня, то у меня будут две либы статическая и деинамическая.
K>Я правильно всё понял?

статическая lib будет только для компиляции, а потом она приленкуется к dll и на выходе будет одна dll, которую уже можно брать и использовать.
Re[5]: Созать статическую и динмическую библиотеку
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 19.08.10 11:24
Оценка:
Здравствуйте, Вертер, Вы писали:

K>>Получается, когда я собираю всё дерево сорцов начиная с корня, то у меня будут две либы статическая и деинамическая.

K>>Я правильно всё понял?

В>статическая lib будет только для компиляции, а потом она приленкуется к dll и на выходе будет одна dll, которую уже можно брать и использовать.

Б(Д)обра тебе.
Sic luceat lux!
Re: Созать статическую и динмическую библиотеку
От: amd00 Россия  
Дата: 14.09.10 13:09
Оценка:
Здравствуйте, Kernan, Вы писали:

K>Понадобилось создать статическую и динамическую библиотеку для моего приложение. В качестве билдовой системы использую qmake. Пробовало установить CONFIG += dll staticlib, но при этом собирается то, что установил последним 9статика, но нет динамической).

K>Может кто-нибудь подскажет как быть?

В pro-файле прописана такая штука:

TEMPLATE = lib
CONGIG += release
CONFIG -= qt

CONFIG += build_all static_and_shared
CONFIG(static, static|shared){
TARGET = cryptonS
}
else{
CONFIG += plugin
TARGET = crypton
}

У меня работает (qt4).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.