我们经常在较大的项目中使用一些较小的库。
我们仍然编译并运行这些较小的库的单元测试作为独立的CI作业。
这些lib中的大多数使用QMake作为buildtool,而不是以任何方式使用Qt。我们开始将CI-Jobs转移到docker容器中。现在我意识到我总是必须获得qt5-default(在Ubuntu 16上)才能使qmake工作。这是有意的吗?这给了相当大的开销。有没有人知道一种方法,在Ubuntu 16上使用qmake而不是让整个Qt安装在船上?
答案 0 :(得分:1)
您实际上并不需要安装Qt才能使qmake正常工作。您需要qt5-default
的原因是大多数Linux发行版都提供Qt5和Qt4,它们具有相同的二进制文件,例如它们都具有qmake
的版本,它们都将安装到{{1} }}。为了解决该问题,Qt5安装到/usr/bin
,Qt4安装到/usr/lib/.../qt5
,/usr/lib/.../qt4
包从那里创建符号链接到qt5-default
对于Ubuntu,/usr/bin
是...
!
您可以选择:
x86_64-linux-gnu
包并创建符号链接qt5-qmake
- > /usr/bin/qmake
。* /usr/lib/.../qt5
添加到您的/usr/lib/.../qt5/bin
*手动创建的符号链接的正确位置实际上是$PATH
,因为如果/usr/local/bin
中有符号链接,则安装/usr/bin
包会失败,因为符号链接qt5-default
想要创造已经存在。但是,您位于docker容器中,实际上可以控制是否安装qt5-default
,如果您在qt5-default
中创建符号链接,则必须确保将/usr/local/bin
添加到/usr/local/bin
对于那种情况来说太过分了。