`
myoldman
  • 浏览: 83217 次
  • 性别: Icon_minigender_1
  • 来自: 福建福州
最近访客 更多访客>>
社区版块
存档分类
最新评论

gpac在64位suse linux上编译

阅读更多
因为项目需要使用MP4Box给视频文件加hint,所以需要在linux下编译gpac。
原来在32位系统上./configure make 没啥问题,结果早上换了个64位的机器死活编译不过,
报如下错误:
s.opic -lm -L/usr/local/lib  -lz -ljpeg -lpthread -ldl
/usr/lib64/gcc/x86_64-suse-linux/4.1.2/../../../../x86_64-suse-linux/bin/ld: /usr/local/lib/libz.a(gzio.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libz.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libgpac.so] Error 1
make[1]: Leaving directory `/root/mayl/bin/gpac/src'
make: *** [lib] Error 2
xmidc_dm_nrc1:~/mayl/bin/gpac #

经过多次试验排错,发现链接的时候使用了32位的libz去链接,导致函数地址找不到,链接不成功。
后修改src/Makefile底下的
EXTRALIBS+=-L$(prefix)/lib
改成
EXTRALIBS+=-L$(prefix)/lib64后解决。
具体的出处请参考如下链接
http://www.howtoforge.com/forums/archive/index.php/t-4276.html
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics