如何让 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 (将#修改为@)