32位程序转64位记录
来源:互联网 发布:苹果手机信号软件 编辑:程序博客网 时间:2024/05/01 01:45
工作中要将原来的32位程序编译到64位系统下运行,现记录工作事项:
查看linux是32位的还是64位的,可用file /sbin/init 或者 file /bin/ls,uname -a,getconf LONG_BIT
一般i386是的32,x86_64就是64
查看库文件或执行文件是32还是64,可以用命令:file 库或执行文件
显示ELF 32-bit和ELF 64-bit
查看静态库用file命令就不行了,可以用objdump -a查看
1、安装64位unbantu(16.10LTS)
问题1:在虚拟机上设置安装64位unbantu,启动时提示
This host supports Intel VT-x, but Intel VT-x is disabled
处理:重启系统到bios中,将英特尔虚拟化技术(VT-x)设置为可用
问题2:安装后能ping,但xshell不能访问:
处理:是没有安装ssh服务,用sudo apt-get install openssh-server安装后可以连接
默认没有安装vim,用sudo apt-get install vim安装
在zigsun用户名用vim不能保存文件,sudo su后到root用户就可以
2、编译
问题1:在64位系统下默认编译的是64位的程序,用-m32会出错,
提示:/usr/include/features.h:367:25: fatal error: sys/cdefs.h: 没有那个文件或目录
处理:要增加安装以下2个库
sudo apt-get install build-essential module-assistant
sudo apt-get install gcc-multilib g++-multilib
问题2:编译ace库时,加不加-m64,都显示下面的错误:
g++: error: /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crti.o: No such file or directory
g++: error: /usr/lib/gcc/i686-linux-gnu/4.7/crtbeginS.o: No such file or directory
g++: error: /usr/lib/gcc/i686-linux-gnu/4.7/crtendS.o: No such file or directory
g++: error: /usr/lib/gcc/i686-linux-gnu/4.7/../../../i386-linux-gnu/crtn.o: No such file or directory
编译ace库有一个连接,可以参考:
http://www.cnblogs.com/liangxiaxu/archive/2013/03/07/2948417.html
问题3:编译ace库之前要先编译openssl库,编译openssl时提示,libcrypto.a与64位不兼容,
将build_pc下的全部内容删除后,make是可以通过了,但make install提示/usr/lib/pod2man的68行有错,改用手动copy
但连接ace库时提示libssl.a错误relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
- 32位程序转64位记录
- 32位项目转64位一些问题记录
- (转)移植32位程序64位系统
- 32位到64位程序移植
- 64位Linux 编译32位程序
- Linux 64位 编译32位程序
- 64位系统运行32位程序
- Ubuntu 64位跑32位程序
- 32位和64位程序兼容性
- 64位系统编译32位程序
- 64位程序调用32位DLL
- 64位ubuntu编译32位程序
- 64位ubuntu运行32位程序
- 64位系统分析32位程序dump
- “32位程序/64位程序” VS “32位机器/64位机器” 那点事
- 64位?32位?32位程序如何在64位linux下运行?
- 32位程序到64位程序移植
- 64位程序与32位程序区别
- Leetcode 70.Climbing Stairs
- 简单的js分页 免刷新 免跳转页面(即免&page=2页面跳转)
- Mac Android 开发环境配置
- HikariCP连接Trafodion样例
- NSSavePanel以及NSOpenPanel的使用
- 32位程序转64位记录
- jquerymobile实现手机导航条的滚动
- Otto的使用
- 7 EventLoop and threading model
- 2016.11.28:for PPT
- 关于使用Android6.0编译程序时,出现getSlotFromBufferLocked: unknown buffer: 0xac0f8650问题的解释
- UML类图中箭头和线条的含义和用法
- 微信课堂如何制作
- mysql master 和slave的replication