加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

文件格式无法识别;作为链接描述文件处理

发布时间:2020-12-16 09:33:55 所属栏目:百科 来源:网络整理
导读:我是 gcc编译器的新手. 我的朋友为我写了这个脚本(图形过滤器),但我不能使用它因为我收到一些错误. 我有2个目录和一个C文件: -dir- include -- basics.h common.h freeimage.h hqx.h imageIO.h pcxIO.h -dir- lib -- libfreeimage-3.13.1.so libfreeimage.a
我是 gcc编译器的新手.

我的朋友为我写了这个脚本(图形过滤器),但我不能使用它因为我收到一些错误.

我有2个目录和一个C文件:

-dir- include --> basics.h common.h freeimage.h hqx.h imageIO.h pcxIO.h    
-dir- lib --> libfreeimage-3.13.1.so libfreeimage.a libfreeimage.so.3 libhqx.a libhqx.so libhqx.so.1 libhqx.so.1.0.0  
scaling.c

我尝试使用此命令进行编译:

gcc scaling.c -I./include -L./lib -lm -lfreeimage -lhqx -lstdc++ -o filter

但我收到此错误:

/usr/lib/gcc/i486-slackware-linux/4.2.4/../../../../i486-slackware-linux/bin/ld:./lib/libhqx.so: file format not recognized; treating as linker script
/usr/lib/gcc/i486-slackware-linux/4.2.4/../../../../i486-slackware-linux/bin/ld:./lib/libhqx.so:1: syntax error
collect2: ld returned 1 exit status

提前致谢,对不起我的英语.

解决方法

链接器会将任何看起来不像目标文件或库的文件视为包含命令的链接描述文件,以指定应如何进行链接.加载地址,部分定义等等.

显然libhqx.so看起来不像你系统上的共享库.我认为它是建立在你朋友的系统上的?

要获得有关文件内容的线索,请使用file命令.你应该得到类似的东西:

main% file /lib/libc-2.11.2.so 
/lib/libc-2.11.2.so: ELF 32-bit LSB shared object,Intel 80386,version 1 (GNU/Linux),dynamically linked (uses shared libs),for GNU/Linux 2.6.18,not stripped

如果没有,您将必须构建或找到与您的系统兼容的库.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读