微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让 qmake 看到符号链接

如何解决如何让 qmake 看到符号链接

我正在开发 QT 框架内的应用程序堆栈。计划是使用 systemd 作为启动机制。因此,每个应用程序都有一个 systemd 单元和一个新的目标文件,其中包含它想要或需要的所有单元。所以我的堆栈看起来像这样。

系统化:

Systemd.pro

单位:

appname1.service appname2.service appname3.service 新目标

链接

Symlinks 文件夹是空的,这个想法是 SystemdUnits.pro 的 make 会在其他地方的文件夹中启动一个隐藏的 bash 脚本,该脚本会为每个单元和内部的目标生成一个从 /lib/systemd/system 的符号链接SystemdUnits 文件夹。我记下了那部分。它正在生成链接并将它们放入 Smylinks 文件夹中。我已经为 SystemdUnits.pro 文件中的整个 Symlinks 文件夹设置了部署。问题是这些符号链接当然被破坏了,因为我的构建机器上没有同名的单元,所以它们无处可去。我所看到的 Qmake 会忽略损坏的符号链接,并且不会部署它们。如果我在那里放一个普通文件,它就会被部署。有谁知道这个用例或者如何让 qmake 看到损坏的链接并部署它们?

来自 pro 文件代码

UNIT_FILES += \
        ./Units/appname1.service \
        ./Units/appaname2.service \
        ./Units/appname3.service \
        ./Units/new.target \

link.files = ./Links/*
link.path = /etc/systemd/system
link.commands = /usr/bin/bash $$_PRO_FILE_PWD_/../generator/SymlinkGenerator.sh
link.target = link
QMAKE_EXTRA_TARGETS +=  link
PRE_TARGETDEPS = link

boot2qt: {
    deploy.files += $$UNIT_FILES
    deploy.path = /lib/systemd/system
    INSTALLS += deploy link
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。