我有一个共享库(没有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
答案 0 :(得分:12)
将CONFIG -= qt
放入.pro文件中。
答案 1 :(得分:3)
您可以尝试使用
CONFIG += dll
QT -= gui core
LIBS -= -lQtGui -lQtCore
答案 2 :(得分:2)
答案 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,因为它修复了很多错误并带来了有趣的新功能。