首页 文章

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

提问于
浏览
10

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

  • 2

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

    TEMPLATE = app
    CONFIG = console
    

    更多信息:qmake common projects

  • 1

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

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

    我用Qt 4.7做到了这一点

    希望得到这个帮助 .

  • 10

    CONFIG -= qt 放在.pro文件中 .

  • 3

    你可以试试

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

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

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

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

相关问题