【发布时间】:2018-05-01 15:46:31
【问题描述】:
我正在尝试使用 Linaro-Toolchain 7.1.1 静态交叉编译适用于 ARM 的应用程序。最终的 elf 文件依赖于两个共享对象。我需要静态编译应用程序,因为我的目标系统(例如 libstdc++)上没有可用的依赖项。 -L 和 -I 标志在 makefile 中,并且在没有 -static 标志的情况下一切正常。但是,当我使用 -static 标志时,我的 linaro-linker 告诉我它找不到依赖项,即使我知道它们作为 liba.so 和 libb.so 存在。感谢任何帮助或指向文献,我觉得我没有完全理解 -static 的作用,尽管我在网上进行了研究。
谢谢
【问题讨论】:
-
提供文字诊断文本,以及执行的编译和链接器命令。我无法帮助你,但其他人可以。
-
您需要库的
.a版本来静态链接,而不是.so版本。如果您有.so版本,为什么不将它们复制到目标设备以及二进制文件? -
不清楚你在问什么。您似乎想知道为什么您无法静态链接您的库。我建议为您的问题添加一些格式,并提供一些有关您尝试过的内容的详细信息。
标签: c++ static arm shared-libraries cross-compiling