问题描述
我有这个错误,它没有被直接引用,但有一个简单的解决方案。
上下文:
在 buildroot 中编译的一个自定义主机库。
一个使用 buildroot 编译的自定义主机程序并使用这个库。
在make期间,buildroot会这样抱怨:
*** 错误:软件包 host-zic 安装了没有正确 RPATH 的可执行文件:
*** /home/aurelien/Project/[...]/BR_dir/host/bin/my_program
我该如何解决这个错误?
解决方法
答案由Nikos C. there 给出。这是他的答案的复制/粘贴:
链接时,指定库的目录并使用
路径:
-Wl,-rpath,/absolute/path/to/your/library -L/absolute/path/to/your/library -llibrary
-L 告诉链接器在链接时在哪里找到你的库,-rpath 告诉它在运行时在哪里搜索库。
请注意 -L 和 -rpath 需要包含您的 .so 的目录
文件,而不是库文件本身的实际路径。
用buildroot语言翻译:
-Wl,$(HOST_DIR)/lib -L$(HOST_DIR)/lib -llibrary