/ / construindo com o qmake no Linux - como evitar que o qmake se vincule ao QtCore e ao QtGui - qt, qmake

construindo com o qmake no Linux - como evitar que o qmake se vincule ao QtCore e ao QtGui - qt, qmake

Eu tenho uma biblioteca compartilhada (sem dependência QT) [biblioteca B] que vincula a outra biblioteca compartilhada (sem dependência QT também) [biblioteca A].

Eu estou usando o Qmake e o QT Creator 1.3. O problema é que quando eu construo a biblioteca B e executo o ldd no executável, ele está sendo vinculado ao QtCore e ao QtGui, os quais estão puxando muitos arquivos desnecessários, resultando em um executável que está demorando para carregar, e tem indesejados dependências.

Eu tentei praticamente tudo para impedir qmake de vincular essas bibliotecas para biblioteca B.

Um trecho do meu arquivo de projeto para a biblioteca B é mostrado abaixo:

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
}

Estou usando o QtCreator 3 no Ubuntu 9.10

QT é a versão 4.5.2

Respostas:

10 para resposta № 1

Colocar CONFIG -= qt no seu perfil.


3 para resposta № 2

Você pode tentar com

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

2 para resposta № 3

Para aplicativos, você faz assim:

TEMPLATE = app
CONFIG = console

Mais informações aqui: qmake projetos comuns


1 para resposta № 4

Eu tive problema semelhante. O que eu fiz foi criar um novo projeto de biblioteca com qtcore e qtgui. Removido todos os arquivos desnecessários que foram criados pelo assistente. Adicionado meus arquivos para a pasta do projeto e modifiquei o arquivo * .pro. Começou a funcionar corretamente.

Foi algum problema com o QtCreator, ele não leu corretamente o arquivo .pro que gera o .pro.user, o que o QtCreator usa para criar e o assistente gera o arquivo .pro.user correto.

Eu fiz isso com o Qt 4.7

Desejo essa ajuda.


0 para a resposta № 5

Até onde sei, o criador do Qt não leva em conta as configurações do .pro se você não as configurar separadamente do IDE.

Você deve ir para as configurações do projeto, clonea configuração de depuração, renomeie-a como release, defina a configuração de compilação do QMake para liberar (!) e altere outras configurações como achar melhor. Então você pode escolher qual configuração construir a partir do IDE.

P.S: Tente usar o Qt Creator 1.3.1 pois ele corrige muitos bugs e traz novos recursos interessantes.