假设生成了两个静态库liba.a和libb.a,这两个静态库中a静态库调用了b静态库里面的函数,之后用这两个静态库生成一个程序的时候,头文件都包含了,库都连接了,但是出现了b静态库中某些函数未定义的问题,造成无法生成可执行文件。
这个是编译器再链接静态库时是一个调用一个,顺序不是我们理解的先-lb再-la,而是先-la再-lb,这个顺序只要对了,就可以编译通过。另外a静态库需要包含b静态库的头文件。
本文详细阐述了在使用静态库时,出现的函数未定义错误问题,以及解决方法。主要涉及静态库的正确链接顺序,以及确保a静态库包含b静态库头文件的重要性。
假设生成了两个静态库liba.a和libb.a,这两个静态库中a静态库调用了b静态库里面的函数,之后用这两个静态库生成一个程序的时候,头文件都包含了,库都连接了,但是出现了b静态库中某些函数未定义的问题,造成无法生成可执行文件。
这个是编译器再链接静态库时是一个调用一个,顺序不是我们理解的先-lb再-la,而是先-la再-lb,这个顺序只要对了,就可以编译通过。另外a静态库需要包含b静态库的头文件。
1343

被折叠的 条评论
为什么被折叠?