GCC跨版本编译的问题。浮点数例外

小菜菜__ 2013-03-19 05:13:23
RT。我的一台虚拟机的gcc版本信息如下:

-bash-3.2$ gcc -v
使用内建 specs。
目标:i386-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic --host=i386-redhat-linux
线程模型:posix
gcc 版本 4.1.2 20080704 (Red Hat 4.1.2-48)
-bash-3.2$ ld -v
GNU ld version 2.17.50.0.6-14.el5 20061020
-bash-3.2$

在此虚拟机下,编译无问题,运行也正常。但是到了下面这台机,gcc版本信息为:

webp2@GA:~> gcc -v
Using built-in specs.
Target: i586-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.1.0 --enable-ssp --disable-libssp --enable-java-awt=gtk --enable-gtk-cairo --disable-libjava-multilib --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --without-system-libunwind --with-cpu=generic --host=i586-suse-linux
Thread model: posix
gcc version 4.1.0 (SUSE Linux)
webp2@GA:~> ld -v
GNU ld version 2.16.91.0.5 20051219 (SUSE Linux)


在这台机上面来编译无问题,一运行就报错:浮点数例外
请问这个问题要怎么解决啊?也网上找过,有人说加编译选项“-Wl,--hash-style=sysv”,但是估计是后面这台机的ld版本太低,不能识别这个选项。请问这个问题要如何才能解决啊??(100分奉上)
...全文
274 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
乐千山 2013-04-09
  • 打赏
  • 举报
回复
你应该更新一下GCC的版本
小菜菜__ 2013-04-09
  • 打赏
  • 举报
回复
引用 1 楼 prohibit 的回复:
检查一下你的程序会不会出现除数为0的情况; 加上-static试试; 如果不行,那就不知道了。。。
引用 3 楼 jufeng2309 的回复:
不知道你的问题解决了没有?我特别写了篇文章,针对该问题的处理。 http://westsoftware.blog.163.com/blog/static/2609410920132294512298/
引用 4 楼 u010025596 的回复:
你应该更新一下GCC的版本
我搞了很久,最终发现每次我编译的时候一链接JSON的标准库程序就会挂掉,我想应该是我在另外一台机上面json库安装的时候的问题,由于公司这台机不能随意乱动,所以我改了方式用cJSON来处理JSON格式的数据,不过还是谢谢大家的回复,谢谢啦。
jufeng2309 2013-03-29
  • 打赏
  • 举报
回复
不知道你的问题解决了没有?我特别写了篇文章,针对该问题的处理。
http://westsoftware.blog.163.com/blog/static/2609410920132294512298/
jufeng2309 2013-03-28
  • 打赏
  • 举报
回复
高版本的编译出的应用要运行到低版本是会经常出现这样的问题的。其实加上 Wl,--hash-style=sysv 也得不到什么改善。 很多原因是由于除数为0的情况,如果实在定位不到,就gdb进行跟踪吧。
prohibit 2013-03-23
  • 打赏
  • 举报
回复
检查一下你的程序会不会出现除数为0的情况; 加上-static试试; 如果不行,那就不知道了。。。

23,127

社区成员

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

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