如何在Qt Creator中管理多个项目?

时间:2011-06-17 13:56:17

标签: visual-studio qt projects-and-solutions qmake

我有一个依赖于多个静态库的exe,在visual studio中,它们都作为1 sln文件的一部分进行管理,exe依赖于静态库。

如何在Qt Creator中设置?好像有2种选择: 1.在Qt Creator“会话”中创建多个项目。但是用户之间不会共享会话,对吧?所以我不确定那会怎么样?例如,是否有创建的会话文件? 2.使用子项目。并创建exe的静态lib子项目

有什么建议吗?我是Qt Creator的新手,需要将它用于Linux端口。

谢谢!

2 个答案:

答案 0 :(得分:2)

要让qmake生成包含子项目的好.sln,请使用.pro模板创建一个主subdirs文件,并在另一个项目上设置每个项目的必要依赖项

QtCreator在后台使用qmake来生成makefile并从中构建,但您也可以通过运行生成VS解决方案文件

qmake ../path/to/source -tp vc

您也可以使用Qt Visual Studio加载项进行GUI-ify过程。


另外:为确保每次更改从属静态库时重新链接可执行文件,请使用

CONFIG( debug, debug|release ) {
    LIBSUFFIX = d
    win32:LIBS += -L../staticlib1/debug
    win32:PRE_TARGETDEPS += ../staticlib1/debug/libAmbrosiad.a
} else {
    LIBSUFFIX =
    win32:LIBS += -L../staticlib1/release
    win32:PRE_TARGETDEPS += ../staticlib1/release/libAmbrosia.a
}
unix:LIBS += -L ../libAmbrosia
unix:PRE_TARGETDEPS += ../libAmbrosia/libAmbrosia$${LIBSUFFIX}.a

在你的可执行文件的.pro文件中放置这样的东西,注意LIBSUFFIX部分是完全可选的,但是与Qt本身的构建方式一致,这也是我使用的。请注意Linux / Mac版本中缺少“发布”和“调试”子目录。并且要完整:相当冗长的if-else条件是The Right Way (TM)来区分qmake项目文件中的debugrelease版本。在几种情况下,更简单的方法可能会破裂。

答案 1 :(得分:1)

在Linux上,会话文件在~/.config/Nokia/qtcreator中创建,扩展名为qws,但我认为这对多个用户来说不是一个非常合适的解决方案。