linux 静态编译c文件,如何在Linux(Ubuntu)中使用FreeImage库静态编译C/C++应用程序?...

我正在关注

this的例子.但是,我想为给定的玩具示例代码编译静态二进制文件.通常,我在编译期间使用-static,但这里给出了一条错误消息.

编译命令工作正常:

g++ freeimagetest.cpp -o freeimagetest -lfreeimageplus

编译命令不能正常工作:

g++ freeimagetest.cpp -o freeimagetest -lfreeimageplus -static

错误消息的最后几行:

In function `ZIPPreDecode':

(.text+0x6f8): undefined reference to `inflateReset'

/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libfreeimageplus.a(tif_zip.o): In function `ZIPSetupDecode':

(.text+0x783): undefined reference to `inflateInit_'

/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../lib/libfreeimageplus.a(tif_zip.o): In function `ZIPSetupDecode':

(.text+0x7b4): undefined reference to `deflateEnd'

collect2: ld returned 1 exit status

那么如何完成/修复呢?

编辑:我看不到附加的链接如何解决我的问题.显然,它看起来,由于错误消息,我试图静态编译它的方式存在一些问题.我找不到正确的方法.我认为错误信息是错误的 – 它只是以这些行结束(这些行不到所有消息的百分之一).任何做过它的人都可以更好地回答.如果您认为您的答案不仅仅是一个有根据的猜测,我会请求您在回答之前尝试一下.如果您按照附件链接,只需几分钟.此外,我也标记了C,因为C语言程序也是如此.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值