error: C2039: “clock_t“: 不是 “`global namespace‘“ 的成员 “clock_t”: 符号不能用在 using 声明中 error: C2873: “cloc

将ffmpeg库导入工程中,出现这样的状况


C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\ctime:21: error: C2039: "clock_t": 不是 "`global namespace'" 的成员

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\ctime:21: error: C2873: “clock_t”: 符号不能用在 using 声明中

原因:ffmpeg中libavutil/time.h 与 vs中的ctime中的一些成员存在定义冲突。

解决办法:在工程文件.pro中,设置ffmpeg库的头文件路径指定到include文件夹就行,不用指定到include里面具体的文件夹。

在调用ffmpeg库头文件的地方再加上具体的路径,像这样:

这样编译器就不会在编译之前,进入到ffmpeg库的头文件的具体文件夹中将里面文件夹中的头文件都进行解析(所有的C++库的头文件都在解析工程之前就会被编译器进行解析),这样编译器就解析不到libavutil中的time.h而造成这些冲突,而只在解析具体工程文件的时候解析调用到的ffmpeg头文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值