转至
[url]http://apps.hi.baidu.com/share/detail/34732087[url]
/usr/bin/ld: /usr/local/lib/libz.a(crc32.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
一般是64 位 电脑才会出现。
解决方法如下:
cd zlib-1.2.3 //进入zlib目录
CFLAGS="-O3 -fPIC" ./configure //使用64位元的方法进行编译
make
make install
make clean
上面操作演示结果如下:
[root@unix-server1 zlib-1.2.3]# CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib/
Checking for gcc...
Building static library libz.a version 1.2.3 with gcc.
Checking for unistd.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for errno.h... Yes.
Checking for mmap support... Yes.
[root@unix-server1 zlib-1.2.3]# make
gcc -O3 -fPIC -DUSE_MMAP -c -o example.o example.c
gcc -O3 -fPIC -DUSE_MMAP -c -o adler32.o adler32.c
gcc -O3 -fPIC -DUSE_MMAP -c -o compress.o compress.c
gcc -O3 -fPIC -DUSE_MMAP -c -o crc32.o crc32.c
gcc -O3 -fPIC -DUSE_MMAP -c -o gzio.o gzio.c
gcc -O3 -fPIC -DUSE_MMAP -c -o uncompr.o uncompr.c
gcc -O3 -fPIC -DUSE_MMAP -c -o deflate.o deflate.c
gcc -O3 -fPIC -DUSE_MMAP -c -o trees.o trees.c
gcc -O3 -fPIC -DUSE_MMAP -c -o zutil.o zutil.c
gcc -O3 -fPIC -DUSE_MMAP -c -o inflate.o inflate.c
gcc -O3 -fPIC -DUSE_MMAP -c -o infback.o infback.c
gcc -O3 -fPIC -DUSE_MMAP -c -o inftrees.o inftrees.c
gcc -O3 -fPIC -DUSE_MMAP -c -o inffast.o inffast.c
ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o inflate.o infback.o inftrees.o inffast.o
gcc -O3 -fPIC -DUSE_MMAP -o example example.o -L. libz.a
gcc -O3 -fPIC -DUSE_MMAP -c -o minigzip.o minigzip.c
gcc -O3 -fPIC -DUSE_MMAP -o minigzip minigzip.o -L. libz.a
[root@unix-server1 zlib-1.2.3]# make install
cp zlib.h zconf.h /usr/local/zlib//include
chmod 644 /usr/local/zlib//include/zlib.h /usr/local/zlib//include/zconf.h
cp libz.a /usr/local/zlib//lib
cd /usr/local/zlib//lib; chmod 755 libz.a
cd /usr/local/zlib//lib; if test -f libz.so.1.2.3; then \
rm -f libz.so libz.so.1; \
ln -s libz.so.1.2.3 libz.so; \
ln -s libz.so.1.2.3 libz.so.1; \
(ldconfig || true) >/dev/null 2>&1; \
fi
cp zlib.3 /usr/local/zlib//share/man/man3
chmod 644 /usr/local/zlib//share/man/man3/zlib.3
[root@unix-server1 zlib-1.2.3]# make clean
rm -f *.o *~ example minigzip \
libz.* foo.gz so_locations \
_match.s maketree contrib/infback9/*.o
[root@unix-server1 zlib-1.2.3]#
分享到:
相关推荐
使用mingw4.9.2编译后的zlib-1.2.5,包含头文件和.a文件
源码路径:E:\zlib-1.2.8\zlib-1.2.8\contrib\masmx64\bld_ml64.bat 下载可以直接编译成功
zlib1.2.11 1.VS2013编译 2.32位与64位 3.debug与release版 4.动态库与静态库
zlib 1.2.11的windows x64编译版本,包含debug和release,网上很多假的资源
编译好的zlib动态库
zlib-1.2.7-17.el7.x86_64.rpm、zlib-devel-1.2.3-29.el6.x86_64.rpm
交叉编译后的zlib
openssl-1.1.1a编译静态库 + zlib-1.2.11编译静态库 (x86 x64) 自己编译 最新版本openssl 和 依赖的 zlib库
QGIS的跨平台编译需要一系列开源库的支持,本系列提供QGIS相关的编译成果。 本资源的内容为:基于Qt的zlib跨平台编译成果(MacOS版本)。 二、使用人群 QGIS编译、QGIS跨平台编译的人员或研究者。 三、使用场景及...
这个是我编译好的,下载了好多都没有zlibstat.lib,我编译好了,这个是全的
使用zlib-1.2.11编译后生成,32位,wireshark提示无法zlib1.dll有问题时,将其拷贝到c盘system32中替换原有,并在cmd中输入regsvr32 zlib1.dll即可
在linux环境下通过zlib库压缩文件夹/目录成.zip文件的c++程序。测试ok、不乱码,如果想自己操作一边,请看我写的readme文档(包含说明和操作步骤),可以快速实现压缩。
用arm-linux-gcc交叉编译 openssl zlib curl
zlib-1.2.12版本。在Linux环境下编译。 包含include头文件、so库文件等, 开发者可以基于此版本,在Linux环境下调用接口进行程序开发。
本资源的内容为:基于Qt的zlib跨平台编译成果(Linux版本)。 二、使用人群 QGIS编译、QGIS跨平台编译的人员或研究者。 三、使用场景及目标 在Linux环境下使用。 既可以支撑QGIS在Linux环境下的编译工作,也可以进行...
已经编译好的zlib的库lib(带源码)
zlib1.dll 64位 zlib1.dll是存放在Windows系统文件夹中的重要文件,通常情况下是在安装操作系统过程中自动创建的,对于系统正常运行来说至关重要。在正常情况下不建议用户对该类文件进行随意的修改,它的存在对维护...
编译的64位librtmp静态链接库,网上完整的64位librtmp sdk很少,解决各种编译错误后编译出来,包含librtmp,zlib,openssl,都是使用比较稳定,比较新的版本,VS2015编译,可以直接拿来用,或者自己再编译一遍。
使用vs2013编译完成zlib1.2.8
QuaZIP是使用Qt/C++对ZLIB进行简单封装的用于压缩及解压缩ZIP的开源库.适用于多种平台,利用它可以很方便的将单个或多个文件打包为zip文件,且打包后的zip文件可以通过其它工具打开 测试环境: 国产操作系统 Deepin20、...