当前位置: 技术问答>linux和unix
静态库编译问题
来源: 互联网 发布时间:2016-09-11
本文导语: 原来写了个封装类,编译成静态库libA.a 现在又写了个封装类,有用到libA.a中的函数等,想把新写的的封装类,编译成静态库libB.a,编译通过,没问题 但是,在使用libB.a的DEMO程序中,在编译时,报错,找不到libA.a中的函数,怎么解...
原来写了个封装类,编译成静态库libA.a
现在又写了个封装类,有用到libA.a中的函数等,想把新写的的封装类,编译成静态库libB.a,编译通过,没问题
但是,在使用libB.a的DEMO程序中,在编译时,报错,找不到libA.a中的函数,怎么解决???(demo => libB.a => libA.a)
我把DEMO程序中,直接放入libB.a中原有的代码,编译通过正常(demo+libB.cpp => libA.a)
但我为了封装类B的使用方便,不想说所有程序还要加进libB.cpp
现在又写了个封装类,有用到libA.a中的函数等,想把新写的的封装类,编译成静态库libB.a,编译通过,没问题
但是,在使用libB.a的DEMO程序中,在编译时,报错,找不到libA.a中的函数,怎么解决???(demo => libB.a => libA.a)
我把DEMO程序中,直接放入libB.a中原有的代码,编译通过正常(demo+libB.cpp => libA.a)
但我为了封装类B的使用方便,不想说所有程序还要加进libB.cpp
|
注意链接顺序,最基本的库,应该放在最右边。 当然,不保证链接顺序有可能链接没问题,但保证链接顺序链接肯定没问题。
|
写错了,楼主用的是C++,应该用g++
g++ -o DEMO DEMO.c -L. -lB -lA