编译jabcodeWriter遇链接错误:无法找到兼容的libtiff等库
解决JABCode Writer编译的链接错误
问题原因
链接器提示skipping incompatible,说明../jabcode/lib下的静态库(libtiff.a、libpng16.a、libz.a)和当前系统架构不匹配,无法被使用,进而导致找不到对应库文件。
解决步骤
1. 调整Makefile的库路径
打开src/jabcodeWriter/Makefile,找到链接命令行,移除-L../jabcode/lib这一段,让链接器自动查找系统已安装的对应库。修改后的链接命令示例:
gcc jabwriter.o -L../jabcode/build -ljabcode -ltiff -lpng16 -lz -lm -O2 -std=c11 -o bin/jabcodeWriter
2. 安装系统依赖库
如果系统未安装这些库的开发包,执行以下命令安装(Debian/Ubuntu环境):
sudo apt-get install libtiff-dev libpng-dev zlib1g-dev
3. 重新编译
回到src/jabcodeWriter目录,执行:
make clean make
备选方案(若需使用项目自带库)
删除jabcode/lib下的现有库文件,重新编译这些依赖库的源码,生成适配当前系统架构的静态库后,再执行编译命令。
内容的提问来源于stack exchange,提问作者Rishabh Kushawah
相关产品推荐
相关产品推荐

