当前位置: 技术问答>linux和unix
64位系统上编译运行32位程序,运行时出现Accessing a corrupted shared library
来源: 互联网 发布时间:2016-10-09
本文导语: 程序是在eclipse上调试的 具体情况是原来在32位Fedora系统上运行编译的程序现在要求放到64位的RH5系统上强制编译为32位的(先不要求将工程修改为64位的),即gcc -m32 和ld -m elf_i386 在编译时候由于系统原来的库为...
程序是在eclipse上调试的
具体情况是原来在32位Fedora系统上运行编译的程序现在要求放到64位的RH5系统上强制编译为32位的(先不要求将工程修改为64位的),即gcc -m32 和ld -m elf_i386
在编译时候由于系统原来的库为x86_64的库,所以各种库丢失的警告。在装完i386版本的库后,装了gcc的i386版本,编译成功后,运行,异常中断没有任何显示。尝试调试和命令行运行,均显示Accessing a corrupted shared library。
问题:为啥会这样?
怎么确定是哪个库不对?
重点是第二的问题
拜托各位大牛了
具体情况是原来在32位Fedora系统上运行编译的程序现在要求放到64位的RH5系统上强制编译为32位的(先不要求将工程修改为64位的),即gcc -m32 和ld -m elf_i386
在编译时候由于系统原来的库为x86_64的库,所以各种库丢失的警告。在装完i386版本的库后,装了gcc的i386版本,编译成功后,运行,异常中断没有任何显示。尝试调试和命令行运行,均显示Accessing a corrupted shared library。
问题:为啥会这样?
怎么确定是哪个库不对?
重点是第二的问题
拜托各位大牛了
|
看看环境变量LD_LIBRARY_PATH的设置,是否是引用了64位的库路径?
|
apt-get 是debian的包管理器
redhat的貌似是rpm
redhat的貌似是rpm
|
RH确实不是用.deb 而是.rpm 但是你7楼的错误原因不单是这个 而是你没有交费注册 所以没法使用官方的yum源!