libtool在产生DLL中遇到的问题

本文介绍了在Windows环境下,使用MSVC通过libtool编译动态库时遇到的‘缺少-no-undefined参数’警告及库依赖问题。解决方案包括修改Makefile、设置环境变量以及调整libtool的max_cmd_len。此外,还提到了libtool创建符号链接可能导致的.lib文件损坏问题,并给出了避免创建符号链接的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在windows下使用msvc编译时,libtool有可能报告

”warning : undefined symbols not allowed in i686-pc-cygwin shared libraries“

这使用无libtool缺少参数
-no-undefined参数

简单的处理可以修改Makefile文件的编译规则。要加入到LDFLAGS中,例如库libzmq_la_LDFLAGS=-no-undefined

如果你编译的库依赖其他的库,比如zeromq依赖于sodium,于是你设置了sodium_LDFLAGS=../libsodium/build/libsodium.lib。libtool还是可能会可能忽略这个参数。并且打印下面的警告:

Warning: Trying to link with static lib archive $deplib.

简单的解决办法是,为cygwin-msvc-gcc增加一个可以控制的环境变量。将这个库附加上去。

exp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值