gpt4 book ai didi

qt - 部署 Qt 共享库时替换 RPATH

转载 作者:行者123 更新时间:2023-12-04 19:41:57 25 4
gpt4 key购买 nike

设置

  • 我的主目录中有一个本地安装的 Qt:/home/user/Qt/...(从现在开始,devdir) .

  • 我尝试打包的 Qt 应用程序将相关的 Qt 共享库安装到 /usr/lib/myapplication(从现在开始,installdir) .

  • 我的打包流程目前是这样设置的:

    qmake > dh_make -s --createorig > debuild

问题

我正在尝试将 myapplication.pro 中的 RPATH 设置为仅链接到 installdir 中的库,但它目前同时链接到 < em>installdir 和 devdir

我认为这与 qmake 自动创建对安装库的依赖关系有关。为了尝试阻止它,我使用 qmake -nodepend 运行构建过程,但这并没有阻止到 devdir 的链接发生。

如何强制 qmake 只链接到 installdir 中的库?

代码

myapplication.pro 中:

QMAKE_LFLAGS = -Wl,-rpath,/usr/lib/myapplication

Makefile 中生成的链接标志是:

LFLAGS = -Wl,-rpath,/usr/lib/myapplication -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-rpath,/home/user/Qt/5.3/gcc_64 -Wl,-rpath,/home/user/Qt/5.3/gcc_64/lib

最佳答案

/home/user/Qt/5.3/gcc_64 的路径可以通过覆盖QMAKE_RPATHDIR 来移除。要抑制这两个路径,变量 QMAKE_LFLAGS_RPATH 应该为空,如 Setting RPATH order in QMake 中所示。

# rpath variables for unix
unix: {
# suppress the default RPATH
QMAKE_LFLAGS_RPATH =
# add custom path
QMAKE_LFLAGS = -Wl,-rpath,/usr/lib/myapplication
}

关于qt - 部署 Qt 共享库时替换 RPATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25895525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com