今天在归档minigui时,发现一个奇怪的问题。minigui的静态库加minigui软键盘的静、动态库怎么编译都通不过。而minigui的动态库加minigui软键盘的静、动态库都可以编译通过。且minigui的动、静态库是一个版本编译出来的。其中minigui的软键盘库是依赖于minigui库。

#################################################

libminigui.a 和libmgi.so    编译通不过

libminigui.a和libmgui.a 编译通不过

libminigui.so和libmgi.so  编译通过

libminigui.so和libmgui.a  编译通过


郁闷好久,最后无意中发现了原因。


makefile中的链接顺序不对, 库的链接如下:-lminigui -lmgi。改为:-lmgi -lminigui

 总结:当A库依赖于B库时,B库是用的静态库,则在编译的时候链接顺序应该是 -lA -lB


Logo

更多推荐