сборка с помощью qmake в Linux - как предотвратить соединение qmake с QtCore и QtGui - PullRequest
11 голосов
/ 19 февраля 2010

У меня есть общая библиотека (без зависимости QT) [библиотека B], которая ссылается на другую общую библиотеку (также без зависимости QT) [библиотека A].

Я использую Qmake и QT Creator 1.3. Проблема в том, что когда я собираю библиотеку B и запускаю ldd на исполняемом файле, она связывается с QtCore и QtGui, которые вытягивают множество ненужных файлов, в результате чего исполняемый файл, который занимает много времени для загрузки и имеет нежелательные зависимостей.

Я пытался почти все, чтобы не дать qmake связать эти библиотеки с библиотекой B.

Ниже приведен фрагмент файла моего проекта для библиотеки B:

TEMPLATE = lib
LIBS += -L../datelib/bin -ldatelib_release

QT -= gui core
LIBS   -= -lQtGui -lQtCore
CONFIG += dll
CONFIG += debug_and_release

CONFIG(debug, debug|release) {
TARGET =targetnameD
}else {
TARGET = targetname
}

Я использую QtCreator 3 в Ubuntu 9.10

QT - версия 4.5.2

Ответы [ 5 ]

12 голосов
/ 20 февраля 2010

Поместите CONFIG -= qt в ваш файл .pro.

3 голосов
/ 19 февраля 2010

Вы можете попробовать с

CONFIG += dll
QT     -= gui core
LIBS   -= -lQtGui -lQtCore
2 голосов
/ 06 марта 2013

Для приложений вы делаете это так:

TEMPLATE = app
CONFIG = console

Больше информации здесь: qmake общие проекты

1 голос
/ 03 ноября 2010

У меня была похожая проблема.Я создал новый библиотечный проект без qtcore и qtgui.Удалены все ненужные файлы, созданные мастером.Добавил мои файлы в папку проекта и изменил файл * .pro.Это начало работать правильно.

Была некоторая проблема с QtCreator, он неправильно читал .pro файл, генерирующий .pro.user, ведьма использует QtCreator для сборки, и мастер генерировал правильный файл .pro.user.это с Qt 4.7

Пожелайте этой помощи.

0 голосов
/ 19 февраля 2010

Насколько я знаю, создатель Qt не учитывает конфигурации .pro, если вы не настроили их отдельно от IDE.

Вам нужно перейти к настройкам проекта, клонировать конфигурацию отладки, переименовать ее в релиз, настроить конфигурацию сборки QMake на выпуск (!) И изменить другие параметры по своему усмотрению. Затем вы можете выбрать конфигурацию для сборки из IDE.

P.S: попробуйте использовать Qt Creator 1.3.1, поскольку он исправляет множество ошибок и приносит новые интересные функции.

...