cannot execute binary file
本帖最后由 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
文件有执行权限吗?你有执行权限吗?
有
本帖最后由 zhumao 于 2011-04-15 17:17 编辑
必须使用-m64参数吗?如果不用是不是也可以?
另外,编译程序跟机器位数有关?我不太确定。只要符合平台要求就可以用吧?
这个跟平台有关的...
遇到了,没办法,去目标机编译执行就可以了
uname -a
ls -l test