疑难杂症-调用第三方库

来源:互联网 发布:做淘宝店铺装修多少钱 编辑:程序博客网 时间:2024/06/02 04:41

这两天在项目工程中引入了一个新的第三方库。将这个第三方库调用写在我的一个public库中,生成一个静态库,然后由程序调用静态库来引用到第三方库。

问题一:

编译过程中遇到了一个小问题,找不到第三方库的链接。小菜一碟,这个问题肯定是在链接过程中出现的,那么不可能是编译public的时候的问题,肯定是工程最后链接的时候报的,于是我直接去看工程的make,果然,调用的库名称不带版本号:-lxxx,于是将第三方库拷贝了一个无版本号的,问题解决。

问题二:

接下来遇到了真麻烦。执行程序的时候直接崩溃了!而且不是在新开发的程序部分,历史代码,也是调用第三方库的部分。。。瞬间蛋碎,这tm是什么情况。(不过遇到这样的问题千万不要慌,这种见鬼的问题肯定有办法,一点一点排除解决)问题肯定是新开发的程序,于是我一点一点的注释掉程序,最后发现第三方库的头文件是直接导致这个问题的根本原因,但什么原因呢,猜不透。

晚上在家洗澡的时候,猜。。猜。。猜。。难道是链接冲突了,和其他的第三方库有比较相似的定义?(学艺不精呀,只能靠蒙,不过很多时候我都能蒙对,感觉有第六感一样)。第二天一大早(虽然是周六,在家蹲不住)到了公司,我将调用的程序封装到一个类里,给他一个命名空间,头文件中不引用第三方库,将想要的结果string返回出来,尽可能少的让第三方库暴露在程序中。果然试验通过。但是最后我也不知道什么原因,只是记住了一点,第三方库的引入,一定要尽可能的封装,尽可能少的将其释放到程序中。