调用sin函数时Illegal instruction解决

来源:互联网 发布:java在线预览pdf 文件 编辑:程序博客网 时间:2024/05/16 12:10

1. 现象

   编译时通过 -static 选项编译后运行正常, 修改为动态编译运行出错, 如题.

2. 开始认为是库没有加入,但是经过查看文件都在

/lib # ls libm* -l
-rwxr-xr-x    1 1000     232        509056 Jan  1 00:00 libm-2.3.3.so
lrwxrwxrwx    1 1000     232             9 Jan  1 00:00 libm.so -> libm.so.6
lrwxrwxrwx    1 root     root           13 Jan  1 00:00 libm.so.6 -> libm-2.3.3.so
-rwxr-xr-x    1 1000     232         14116 Jan  1 00:00 libmemusage.so
/lib #

3. 比较gcc目录/arm-linux/lib目录中的库文件,版本为libm-2.3.6, 更新库文件到ARM板, 修改libm.so.6 -> libm-2.3.3.so如下

/lib # ls libm* -l
-rwxr-xr-x    1 1000     232        509056 Jan  1 00:00 libm-2.3.3.so
-rwxr-xr-x    1 root     root       972628 Jan  1 00:00 libm-2.3.6.so
lrwxrwxrwx    1 1000     232             9 Jan  1 00:00 libm.so -> libm.so.6
lrwxrwxrwx    1 root     root           13 Jan  1 00:00 libm.so.6 -> libm-2.3.6.so
-rwxr-xr-x    1 1000     232         14116 Jan  1 00:00 libmemusage.so
/lib #

4. 直接运行后未见提示

 

原创粉丝点击