在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增加一个可以控制的环境变量。将这个库附加上去。