我有一个使用" arm-none-linux-gnueabi编译的应用程序(嵌入式OPC-UA服务器) - "交叉编译工具链。
应用程序在Beagle Bone Black(GNU / Linux)上按预期运行。
当我尝试在类似于具有相同处理器的Beagle-Bone-Black的目标平台上执行应用程序时,应用程序会抛出一个seg-fault。它甚至不执行main中的第一个printf指令。
导致此行为的硬件/软件限制是什么? 是否可以,因为RAM中没有足够的可用内存?
答案 0 :(得分:1)
当我尝试在类似于Beagle-> Bone-Black的目标平台上执行应用程序时,应用程序会抛出一个seg-fault。它甚至不会在main中执行第一个printf指令。
看起来像ld-linux
问题。在任何编辑器中打开您的二进制文件,然后查看
substring ld-linux
,例如在amd64上它看起来像这样:/lib64/ld-linux-x86-64.so.2
,然后检查类似的平台,我想它有ld-linux
的不同路径,如果你幸运的话你只需要创建软符号链接,如果没有,你必须重建你的应用程序。