使用qmake而不增加Qt开销?

使用qmake而不增加Qt开销?,qt,ubuntu-16.04,qmake,build-tools,Qt,Ubuntu 16.04,Qmake,Build Tools,我们在大项目中经常使用一些较小的库 尽管如此,我们还是将这些较小库的单元测试作为独立的CI作业进行编译和运行 大多数lib使用QMake作为构建工具,而不是以任何方式使用Qt。我们开始将CI作业转移到docker容器中。现在我意识到,为了让qmake正常工作,我总是必须获得qt5默认值(在ubuntu16上)。这是有意的吗?这给了相当大的开销。有人知道在Ubuntu 16上使用qmake而不安装整个Qt的方法吗?qmake工作实际上不需要安装Qt。您需要qt5 default的原因是大多数lin

我们在大项目中经常使用一些较小的库

尽管如此,我们还是将这些较小库的单元测试作为独立的CI作业进行编译和运行


大多数lib使用QMake作为构建工具,而不是以任何方式使用Qt。我们开始将CI作业转移到docker容器中。现在我意识到,为了让qmake正常工作,我总是必须获得qt5默认值(在ubuntu16上)。这是有意的吗?这给了相当大的开销。有人知道在Ubuntu 16上使用qmake而不安装整个Qt的方法吗?

qmake工作实际上不需要安装Qt。您需要
qt5 default
的原因是大多数linux发行版都提供了qt5和Qt4,它们具有相同的二进制文件,例如,它们都有
qmake
,这两个版本都将安装到
/usr/bin
。为了解决该问题,Qt5安装到
/usr/lib/../Qt5
和Qt4安装到
/usr/lib/../Qt4
,并且
Qt5默认值
包创建从那里到
/usr/bin
的符号链接

对于Ubuntu,
x86\u 64-linux-gnu

您可以选择:

  • 仅在docker容器中安装
    qt5 qmake
    包,并创建符号链接
    /usr/bin/qmake
    ->
    /usr/lib/../qt5
    *
  • 在构建软件时,在{travis,gitlab,jenkins}CI配置中指定qmake二进制文件的完整路径
  • /usr/lib/../qt5/bin
    添加到您的
    $PATH

  • *手动创建的符号链接的正确位置实际上应该是
    /usr/local/bin
    ,因为如果在
    /usr/bin
    中有符号链接,安装
    qt5 default
    包将失败,因为想要创建的符号链接
    qt5 default
    已经存在。但是,您位于docker容器中,可以实际控制是否安装了
    qt5 default
    ,如果在
    /usr/local/bin
    中创建符号链接,则必须确保将
    /usr/local/bin
    添加到
    $PATH
    ,这对于该场景来说是过分的。

    qmake
    qt5 qmake
    的一部分。由于
    qmake
    用于构建Qt本身,因此它应该能够在没有
    qt5默认值的情况下工作。确保pro文件中有
    CONFIG-=qt
    。如果您已经试过了,您能告诉我当您没有安装
    qt5 default
    时,什么是不起作用的吗?您是否有任何错误消息?