关于在linux PC下面执行可执行文件 报错“cannot execute binary file”

wanping91 2012-02-03 02:02:25
我写了个简单的.c文件,编译通过后执行。生成的可执行文件的名字是lsdir。于是我执行 ./lsdir 参数1 显示:
root@ubuntu:/home/xiaotao/test# ./lsdir ./
bash: ./lsdir: cannot execute binary file

这个是怎么回事情啊?? 我执行了一下 which gcc 显示 : /usr/bin/gcc。 我之前安装过交叉编译器。我执行 echo $PATH 显示root@ubuntu:/home/xiaotao/e3515/IPC_SD/ipc_device/Arm# echo $PATH
/opt/hisi-linux/x86-arm/arm-hisiv100-linux/target/bin:/opt/hisi-linux/x86-arm/gcc-3.4.3-uClibc-0.9.28/usr/bin:/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:/usr/4.2.2-eabi/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/xiaotao/work/tools/gcc-3.4.5-glibc-2.3.6/bin

怎样才能正确执行我的程序啊??
请大家给个方法啊
...全文
590 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arnold9009 2012-02-03
  • 打赏
  • 举报
回复
uname -a看一下系统信息

这种情况是因为可执行文件的格式跟系统不匹配
wanping91 2012-02-03
  • 打赏
  • 举报
回复
执行lsdir 后显示 lsdir: ELF 32-bit LSB relocatable, Intel 80386, version 1 (SYSV), not stripped
应该怎么修改啊??才能在PC上面执行
markzune 2012-02-03
  • 打赏
  • 举报
回复
1.你用 /user/bin/gcc xxx.c编译你的程序,从你的环境变量看你可能用交叉编译工具编译你程序了,所以在pc上不能运行吧
2. 你从新打开一个终端吧,这个终端你来的环境变量被修改了。
justkk 2012-02-03
  • 打赏
  • 举报
回复
file lsdir
看看有什么输出信息

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧