在Linux上使用qmake构建 - 如何防止qmake链接到QtCore和QtGui

时间:2010-02-19 13:21:58

标签: qt qmake

我有一个共享库(没有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
}

我在Ubuntu 9.10上使用QtCreator 3

QT是版本4.5.2

5 个答案:

答案 0 :(得分:12)

CONFIG -= qt放入.pro文件中。

答案 1 :(得分:3)

您可以尝试使用

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

答案 2 :(得分:2)

对于应用,您可以这样做:

TEMPLATE = app
CONFIG = console

更多信息: qmake common projects

答案 3 :(得分:1)

我有类似的问题。 我所做的是用qtcore和qtgui创建新的库项目。删除了向导创建的所有不必要的文件。将我的文件添加到项目文件夹并修改了* .pro文件。它开始正常工作。

这是QtCreator的一些问题,它无法正确读取.pro文件生成.pro.user,使用QtCreator构建,向导生成正确的.pro.user文件。

我用Qt 4.7做了这个

希望得到这个帮助。

答案 4 :(得分:0)

据我所知,如果您没有将它们与IDE分开设置,Qt创建者不会考虑.pro配置。

您应该转到项目的设置,克隆调试配置,重命名它,将QMake构建配置设置为release(!)并根据需要更改其他设置。然后,您可以从IDE中选择要构建的配置。

P.S:尝试使用Qt Creator 1.3.1,因为它修复了很多错误并带来了有趣的新功能。