社区
Qt
帖子详情
如何让.pro文件中的QMAKE_RPATHDIR变量展开为相对路径?
lexdene
2011-11-28 07:07:18
在Linux下,(本人使用ubuntu 11.04)
在.pro文件中有:
QMAKE_RPATHDIR = lib
它生成的Makefile却变成:
LFLAGS = -Wl,-rpath,/home/lexdene/workspace/qtpro/tryrpath/lib
使用的是绝对路径。
可是我希望我的程序移动到别的地方也能运行,
问题:
能否让QMAKE_RPATHDIR展开为相对路径?
...全文
1213
4
打赏
收藏
如何让.pro文件中的QMAKE_RPATHDIR变量展开为相对路径?
在Linux下,(本人使用ubuntu 11.04) 在.pro文件中有: QMAKE_RPATHDIR = lib 它生成的Makefile却变成: LFLAGS = -Wl,-rpath,/home/lexdene/workspace/qtpro/tryrpath/lib 使用的是绝对路径。 可是我希望我的程序移动到别的地方也能运行, 问题: 能否让QMAKE_RPATHDIR展开为相对路径?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lexdene
2011-11-28
打赏
举报
回复
[Quote=引用 3 楼 dbzhang800 的回复:]
引用 2 楼 lexdene 的回复:
引用 1 楼 dbzhang800 的回复:
直接写
unix:!mac:QMAKE_LFLAGS += -Wl,--rpath=your_path
好吧。
这种方法我也想到了,
可是我还是期待有更好的解决办法。
修改qmake的源码
[/Quote]
好主意!
dbzhang800
2011-11-28
打赏
举报
回复
[Quote=引用 2 楼 lexdene 的回复:]
引用 1 楼 dbzhang800 的回复:
直接写
unix:!mac:QMAKE_LFLAGS += -Wl,--rpath=your_path
好吧。
这种方法我也想到了,
可是我还是期待有更好的解决办法。
[/Quote]
修改qmake的源码
lexdene
2011-11-28
打赏
举报
回复
[Quote=引用 1 楼 dbzhang800 的回复:]
直接写
unix:!mac:QMAKE_LFLAGS += -Wl,--rpath=your_path
[/Quote]
好吧。
这种方法我也想到了,
可是我还是期待有更好的解决办法。
dbzhang800
2011-11-28
打赏
举报
回复
直接写
unix:!mac:QMAKE_LFLAGS += -Wl,--rpath=your_path
QT动态库路径查找
在工程
中
使用LIBS+=-Lxx和LIBS+=-lxx可以指定动态库和静态库链接
文件
和路径 但是在运行程序时,对动态库的可能查找不到。 可以使用ldd test 进行测试验证,是否所有的动态库都已经定位成功,若没有定位成功,则需要考虑以下搜索过程: (1).编译目标代码时指定的动态库搜索路径;
QMAKE
_R
PATH
DIR
+=xxx 例如
QMAKE
_R
PATH
DIR
+=/usr/local/
Qt程序
pro
中
如何设置运行时库的位置
在Qt程序的.
pro
文件
中
,可以使用`
QMAKE
_R
PATH
DIR
`
变量
来设置运行时库的位置。`
QMAKE
_R
PATH
DIR
`用于指定运行时库的搜索路径,可以是一个绝对路径或相对于生成的可执行
文件
的路径。将`/
path
/to/runtime/library`替换为实际的运行时库路径。在构建和运行程序时,系统会在指定的路径
中
搜索所需的运行时库。需要注意的是,`
QMAKE
_R
PATH
DIR
`只在Linux和macOS上有效。在Windows上,Qt使用系统的动态链接库搜索路径。
r
path
添加依赖库搜索路径
windows 下一个程序的dll搜索路径首先是程序目录,然后是一些系统目录。linux 下的可以通过设置 LD_LIBRARY_
PATH
等方法来添加搜索路径,但是这些路径是定死的,如果要实现程序目录,就要使用链接时的r
path
选项。r
path
适用于 elf
文件
,不适用 pe。 Linux 上动态库搜索顺序: Unless loading object has RUN
PATH
:
QT设置引用路径问题
在Linux
中
添加动态库路径可以设置LD_LIBRARY_
PATH
路径。如添加/mylib动态库路径: export LD_LIBRARY_
PATH
=/mylib/:$LD_LIBRARY_
PATH
除了上面方法外,我们还可以使用编译参数 -Wl,-r
path
=<动态库路径>。 -Wl为gcc的参数,表示「编译器将后面的参数传递给链接器ld」。 -r
path
为在运行链接时,会优先搜索-r
path
的路径。
QMake
写法1:
QMAKE
_LFLAGS为指定传递给链接器...
qmake
加到linux系统路径,linux – 在
QMake
中
设置R
PATH
命令
我有一个Linux Qt程序.我希望它优先使用可执行
文件
目录
中
的(动态)Qt库(如果存在),否则使用系统的Qt库. R
PATH
来救援.我将此行添加到
qmake
的.
pro
文件
中
:
QMAKE
_LFLAGS += '-Wl,-r
path
,\'\$$ORIGIN\''用readelf查看生成的可执行
文件
,我看到:0x000000000000000f (R
PATH
) Libr...
Qt
16,819
社区成员
26,685
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章