我们在cygwin环境中已经编译完成了.a文件。现在我们要把.a文件转换成动态链接库才能被大部分的Windows下的环境调用。
这一步可以分为两个部分,
第一部分是将.a使用gcc转换成win下面的动态链接库;
第二部分是为了隐式链接,可以使用lib工具再从dll里面生成lib。
本来这是个比较麻烦的事情,不过好在网上已经有现成的脚本了。(
点击下载)
有两个地方需要修改,
第一个是libg2c.a需要指向到对应的文件夹。如果大家的cygwin附带的gcc344/g77 344的话,那么只需要找到libg2c的位置就可以了。
我的安装位置是
CLIBPATH=/usr/lib/mingw
mingwclib="/lib/gcc/i686-pc-mingw32/3.4.4/libg2c.a $CLIBPATH/libmoldname.a $CLIBPATH/libmsvcrt.a"
如果是默认安装的话,这个设置应该是正确的。
第二个需要修改的地方在使用lib.exe生成链接库的时候。大家可以把环境设置的批处理文件路径设置正确就可以了。
-------------------------
非常感谢叛逆者 C++同志给予的指点,要不是他指点了两个地方,我会死的很难看的。。麻烦他老是教我这么笨的人。。。