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
后缀版本)从libqxt-0.5.1/deploy/libs
到your_project/(release|debug)
目录。
您是否已将Qxt包含文件夹添加到您的INCLUDEPATH qmake变量中? – rpg 2009-10-14 13:17:26
我现在试过了,但它不起作用。我在我的.pro文件中添加了这个: INCLUDEPATH + =〜/ tmp/libqxt-0.5.1/deploy/include/ 由于其他IDE中可用的情况,这有点令人失望。如果不是,依赖关系选项卡有什么用处? – 2009-10-14 15:48:40
嗯,我想我会留下这个问题,但我解决了我的问题在系统中安装lib(make install)。 顺便说一下,我将INCLUDEPATH中使用的路径更改为/home/dario/libqxt-0.5。1/deploy/include /,它开始找到头文件,但由于里面使用了其他缺少头文件而无法编译。 – 2009-10-14 15:58:49