相关疑难解决方法(0)

rpath = $ ORIGIN没有预期的效果?

我有一个二进制"CeeloPartyServer"需要在运行时在FreeBSD机器上找到libFoundation.so.他们都在同一个目录中.我使用链接器标志"-rpath = $ ORIGIN"编译(在另一个平台上,使用交叉编译器)CeeloPartyServer.

> readelf -d CeeloPartyServer |grep -i rpath
 0x0000000f (RPATH)                      Library rpath: [$ORIGIN]
> ls
CeeloPartyServer    Contents        Foundation.framework    libFoundation.so
> ./CeeloPartyServer 
/libexec/ld-elf.so.1: Shared object "libFoundation.so" not found, required by "CeeloPartyServer"

当我尝试运行它时,为什么不找到库?我的确切链接器行是:-lm -lmysql -rpath = $ ORIGIN.我很确定我不必逃避\ $或类似的东西,因为我的readelf分析确实显示库rpath设置为$ ORIGIN.我错过了什么?

linker gcc freebsd rpath

21
推荐指数
2
解决办法
1万
查看次数

标签 统计

freebsd ×1

gcc ×1

linker ×1

rpath ×1