我有一个依赖于多个静态库的exe,在visual studio中,它们都作为1 sln文件的一部分进行管理,exe依赖于静态库。
如何在Qt Creator中设置?好像有2种选择: 1.在Qt Creator“会话”中创建多个项目。但是用户之间不会共享会话,对吧?所以我不确定那会怎么样?例如,是否有创建的会话文件? 2.使用子项目。并创建exe的静态lib子项目
有什么建议吗?我是Qt Creator的新手,需要将它用于Linux端口。
谢谢!
答案 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项目文件中的debug
和release
版本。在几种情况下,更简单的方法可能会破裂。
答案 1 :(得分:1)
在Linux上,会话文件在~/.config/Nokia/qtcreator
中创建,扩展名为qws
,但我认为这对多个用户来说不是一个非常合适的解决方案。