gcc静态库链接的问题

来源:互联网 发布:谢云流小时候捏脸数据 编辑:程序博客网 时间:2024/05/18 17:24

http://blog.163.com/very_fyy/blog/static/225216852011328115635158/

 

gcc静态库链接的问题 

有两个静态库liblua.a和libluaexport.a。其中libluaexport.a依赖于liblua.a。
链接时,必须按顺序写成 -lluaexport -llua而不能写成 -llua -lluaexport。
原因是,gcc在链接静态库时,第一种写法下,gcc在libluaexport.a中查找到未知的符号,然后在liblua.a中查找到定义,进行正常链接。
而在第二种写法下,gcc在liblua.a中未查找到未知符号,然后在libluaexport.a中查找到未定义符号,此时,连接器并不会返回去查找liblua.a,故链接报错。

 

原创粉丝点击