cannot execute binary file

发布于 2022-10-15 09:32:00 字数 587 浏览 25 评论 0

本帖最后由 stone421 于 2011-04-15 13:17 编辑

别人开发了一个用于64位机器的库xxx.so,我现在在64位机器上想写一个test程序测试一下这个库,
我用 g++ -m64  -o test test.cc -lxxx 的方式编译通过了,可是我./test时就cannot execute binary file
请问这是怎么回事呢? 谢谢!
我查了一下 -m64 的意思是 The 64-bit environment sets int to 32 bits and long and pointer to 64 bits and generates code for AMD's x86-64 architecture
而我的机器是intel i5 是与这有关系吗?

file test的结果是
test: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

感性不性感 2022-10-22 09:32:00

文件有执行权限吗?你有执行权限吗?

我做我的改变 2022-10-22 09:32:00

文件有执行权限吗?你有执行权限吗?
雨过白鹭洲 发表于 2011-04-15 10:56

叫思念不要吵 2022-10-22 09:32:00

本帖最后由 zhumao 于 2011-04-15 17:17 编辑

我用 g++ -m64  -o test test.cc -lxxx 的方式编译通过了

必须使用-m64参数吗?如果不用是不是也可以?
另外,编译程序跟机器位数有关?我不太确定。只要符合平台要求就可以用吧?

天赋异禀 2022-10-22 09:32:00

这个跟平台有关的...
遇到了,没办法,去目标机编译执行就可以了

东北女汉子 2022-10-22 09:32:00

uname -a
ls -l test

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文