标题:C++俩个第三方库中有同名头文件(FFmpeg、SDL2)
只看楼主
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
结帖率:97.22%
 问题点数:0 回复次数:2 
C++俩个第三方库中有同名头文件(FFmpeg、SDL2)
C++俩个第三方库中有同名头文件(FFmpeg、SDL2)
以前,听过,迷迷糊糊没听明白,用到时就不会了。。。。
搜索更多相关主题的帖子: 头文件 C++ 同名 第三方 
2023-04-12 10:53
Bccn1993
Rank: 1
等 级:新手上路
威 望:1
帖 子:4
专家分:0
注 册:2023-4-21
得分:0 
c++可以使用命名空间区分
2023-04-21 10:20
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
同名头文件 怎么啦?
若是 同名外部链接的变量或函数 的话,会引发link冲突,才可有此一问。

我思来想去,仅当 两个及两个以上的第三方库都写得烂(即使一些有名的库,也会因为只关注自己的一亩三分地,而……)必须设定 库搜索路径 才能编译,且出现头文件重名 的情况,才会因为
#include "fuck.h"
而导致编译器不知道去include哪个目录下的fuck.h

解决方法很多,但我一般喜欢从根源上改掉这个bug,即把第三方的源代码改正确,改成不依赖 头文件搜索路径。从此以后,可以明确的写成
#include "A库的绝对或相对路劲/fuck.h"
#include "B库的绝对或相对路劲/fuck.h"
2023-04-21 15:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511883-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.223989 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved