我在我的主目录中有一个本地安装的Qt:/home/user/Qt/...
(从现在开始, devdir )。
我尝试打包的Qt应用程序会将相关的Qt共享库安装到/usr/lib/myapplication
(从现在开始, installdir )。
我的包装流程目前设置如下:
qmake
> dh_make -s --createorig
> debuild
我正在尝试将 myapplication.pro 中的RPATH
设置为仅链接到 installdir 中的库,但它目前链接到 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
答案 0 :(得分:0)
可以通过覆盖/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
}