静态库链接问题
我应用程序链接了两个静态库,这两个库是用C语言写的,所以有很多的全局函数,并且有重名的函数。
我原以为链接的时候会报错,但是没有。
后来我自己写了个小应用程序,链接了两个带add函数的静态库,发现链接是不会报错的,调用的时候,哪个库链接在前面,就调用哪个库里的函数。
比如,我的程序调用add函数,这个函数在add1.lib和add2.lib里都有定义
如果我链接参数是写 add1.lib add2.lib, 那么就调用add1.lib里的add函数
如果写 add2.lib add1.lib ,那么就调用add2.lib里的add函数。
如果是自己写的小程序,可以用命名空间来解决
但是我现在调用的是两个开源库,里面有很多的代码和文件,重名的函数也很多,并且是用C语言写的,我如何解决这个问题呢?就是能保证我能调用到正确的库的函数
[解决办法]
你在建立一个动态库,包装其中的一个,把重名的都改一下,
然后链接另外一个和你包装的那个程序
[解决办法]
没试过这样行不
namepace lib1
{
#include "lib1.h"
}