多个第三方库头文件冲突怎么解决
千树之影 2017-05-16 11:15:30 一个工程里使用了两个第三方SDK,结果两个SDK的头文件结构类似,大致情况如下:
一个sdk:
sdk1/include/
|---x1.h //里面liclude "base/a.h"
|--base/
||---a.h
||---b.h
另一个sdk
sdk2/include/
|---x2.h //里面liclude "base/a.h"
|--base/
||----a.h
||-----b.h
||-----c.h
两个sdk里的a.h,b.h文件名相同,但内容不同
现在工程路径里添加了sdk1/include/和sdk2/include/
sdk1.cpp里include了x1.h,sdk2.cpp里include了x2.h,编译发现sdk2编译失败,因为它实际包含的是sdk1里面的a.h
虽然可以通过修改sdk2中的目录名或文件名来解决,但这就意味着需要修改sdk中头文件的内容,与sdk使用原则冲突。
不知道有没有知道更好的解决办法?