【发布时间】:2013-09-19 15:18:20
【问题描述】:
我有一个运行 Linux Kernel 3.10 和 Busybox 的嵌入式系统。
如果我交叉编译(由 buildroot 构建工具链,因此它使用 uclibc)没有 -static 标志的程序。它不会运行。
-/bin/sh: helloworld: not found
如果我使用 -static 标志编译我的代码。它会正常运行并输出HelloWorld
这是怎么回事?
【问题讨论】:
-
helloworld不是您的应用程序的名称吗?找不到哪个 .so 文件? -
您是否在不使用
-static时检查了helloworld 是否正确构建?看起来二进制文件没有被构建 -
Helloworld 正确构建没有错误或任何没有静态的东西。我只是无法在我的系统上运行它。 Helloworld 是我的应用程序的名称,如果我执行 LS,我可以在那里看到它,但是在输入 ./helloworld 后它说它没有找到。
-
是应用程序的名称
helloworld还是Helloworld?您的文件系统可能区分大小写,在这种情况下,它们是不同的东西 -
不是区分大小写的问题。即使我重命名它也行不通。我认为这是一个共享库问题。
标签: linux dynamic static kernel busybox