【发布时间】:2016-08-29 07:07:34
【问题描述】:
我有 qwt 的源代码,在制作 qwt 的共享库时,我想阻止 qmake 链接到 QtCore 和 QtGui
期待指导
【问题讨论】:
标签: qt gcc linker shared-libraries static-libraries
我有 qwt 的源代码,在制作 qwt 的共享库时,我想阻止 qmake 链接到 QtCore 和 QtGui
期待指导
【问题讨论】:
标签: qt gcc linker shared-libraries static-libraries
你不能。 qwt 使用 Qt,因此如果不将其链接到 QtCore/QtGui,就无法将其构建为共享库。要导入 Qt 的符号,它必须链接到 QtCore/QtGui import 库 - 这就是 qmake 设置它的方式。否则,链接器将不得不发出一个带有一大堆未解析符号的 qwt 库,并且它根本无法工作 - 它会在第一次引用 Qt 符号时崩溃,因为所述符号的地址为零.
要在不将其链接到 Qt 的情况下构建它,必须将其构建为静态库。当可执行文件被链接时,它将被链接到 Qt。
【讨论】: