现在的位置: 首页 > 综合 > 正文

linux静态库AR陷阱,导致新程序无效

2013年05月13日 ⁄ 综合 ⁄ 共 159字 ⁄ 字号 评论关闭

在使用ar -ru命令时,静态库中的老的目标文件是不会被删除的,当新目标文件不能覆盖老目标文件时(比如文件名变更),则老程序和新程序同时存在,此时可执行文件连接该静态库时,或许会使用老程序,或许使用新程序,连接器没有警告或异常,而且不同的可执行程序使用新老版本也不固定。

解决办法是在ar -ru之前,一定要先rm掉静态库。

抱歉!评论已关闭.