Qt Creator 不知道如何向您的项目公开不同的库。这是开发商的职责。依赖关系确保在构建主项目之前只构建提到的项目。
您真正关心的是在没有正确安装的情况下使用 Qxt。假设configure
已运行并libqxt
已构建(使用 Qt Creator 或手动通过qmake
+ make
),我的解决方案是将以下代码段(具有明显的 QXT_DIR 自定义)添加到 .pro 文件:
QXT_DIR = $${IN_PWD}/../libqxt-0.5.1
LIBS += -L$${QXT_DIR}/deploy/libs
INCLUDEPATH += $${QXT_DIR}/deploy/include
for(module, QXT) {
MODNAME = $$upper($$replace(module, "(.).*", "\1"))$$replace(module, "^.", "")
INCLUDEPATH += $${QXT_DIR}/deploy/include/Qxt$${MODNAME}
INCLUDEPATH += $${QXT_DIR}/src/$${module}
win32:CONFIG(debug, debug|release):MODNAME = $$join(MODNAME,,,d)
LIBS += -lQxt$${MODNAME}
}
不幸的是,我不确定它是否适用于复杂的项目。
默认情况下,Qxt 在发布模式下构建,但 Qt Creator 使用调试模式,它会导致项目的二进制文件损坏,具体取决于 Windows 下的 Qxt。您必须将项目切换到发布模式或在调试模式下构建 Qxt(运行configure -debug
并重新构建 Qxt)。
最后一件事:在 Windows 中,即使您成功构建项目,您也无法从 Qt Creator 运行项目。您必须将所需Qwt*.dll
的文件(d
如果您处于调试模式,请使用 -suffix 版本)从libqxt-0.5.1/deploy/libs
directory复制your_project/(release|debug)
。