Qt编译的同时怎么拷贝指定文件到生成目录?



  • 场景:有些独立文件(如:配置文件)完全固定的,每次打包发布都需要重新手动拷贝到生成目录下,
    想问问有没其他方式,自动拷贝过去的,而不用手动去拷贝。



  • @inoo 有办法。你可以尝试一下建立Qt Quick 2插件项目,项目模板给出了复制qmldir的方法。
    具体来说,是这样的:

        copy_qmldir.target = $$DESTDIR/qmldir
        copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
        copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
        QMAKE_EXTRA_TARGETS += copy_qmldir
        PRE_TARGETDEPS += $$copy_qmldir.target
    


  • @jiangcaiyang 类似的配置,我看.pro的介绍文档里有过,但是简单试了下失败,主要是不清楚里面各个项到底是做什么的? 文档讲的都很概念,例子也不多。。。



  • @inoo 这个的确例子很少,不过文档都是有的。搜? qmake,就可以搜到需要的文档了。
    我也是看了很多文档才知道的。



  • 写个bat文件不就完了,而且还能同时拷贝到多处,我就是这么做的,感觉很方便。



  • @stlcours 现在发现,不用bat文件,直接写在qmake中,就可以达到很好的效果,没有问题的。
    使用这条语句,改改就没有问题。相信我。

    $(COPY_FILE) \"$replace(copy_qmldir.depends, /, $QMAKE_DIR_SEP)\" \"$replace(copy_qmldir.target, /, $QMAKE_DIR_SEP)\"
    


  • @inoo

    如果是使用qbs

    可以使用

        // 再编译的时候,会把文件丢到指定的路径
        Group {
            name: "Runtime resources"
            files: [
                "test/*"
            ]
            qbs.install: true
            // 不指明的话,就丢到启动路径下
            // qbs.installDir: "test"
        }
    

    参考 Installing Files

    qmake 的话,就不清楚了。

    可以参看这个项目 手机贴吧Qt版tbclient


Log in to reply
 

走马观花

最近的回复

  • Q

    幾乎沒有看到過,這究竟是什麼原因呢?
    有瞭解的同學可以來說一說。

    read more
  • 这里大概怎么做,然后值怎么传入![替代文字](73c989ff-abab-46e6-99e0-5173a40514b3-image.png 图片地址)例如上图的表格,表头怎么定义,然后表格的内容输入格式

    read more
  • @lsy 我没有在 QtLocation 成功实现高德地图的接入

    可以上 github 搜索用户 vladest,这个用户封装了国外大多数地图,可以参考这个去实现。

    read more
  • 自己顶顶有益健康

    read more

关注我们

微博
QQ群