在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

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

被折叠的 条评论
为什么被折叠?



