1.libtool 在windows下编译时不加-no-undefined将不产生动态库。
-avoid-version可以去掉库的版本。
2.libtool脚本中max_cmd_len=8192可能会带来问题,当工程比较大文件列表很长超过8192时,在windows下将会出问题,我在编译libsodium时就出现过问题,简单的增加可以解决问题。
3.config.sub脚本会检查host,看看是不是在支持的列表,如果你自己定义工具链,需要修改这个脚本,使得它能通过检查。搜索mingw32可以照着写。
4.compile脚本可以进行命令参数转换。
5.调试使用make -d
根据错误提示找到规则,然后给规则命令写一个钩子脚本(先让命令执行你的脚本)。然后找到make执行的命令与参数。
6.具体的脚本调试使用sh -x – cmd。来看脚本执行情况,预先输出
export PS4='+{$LINENO:${FUNCNAME[0]}}'
可以使你在sh -x 中打印行号和函数。
主要sh -x –,这里的–可以终止sh的参数搜索,在你的cmd中包括–参数时很有用。
7.简单的重载gcc到cl就可以编译出dll,exe,lib。