标题:求助 E0513 不能将 "void *" 类型的值分配到 "AVPacketList *" 类型的实体 ...
只看楼主
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 10楼 apull
为什么,.CPP换成.C就可以呀。





程序代码:
#include <assert.h>
#include <stdio.h>
#include <math.h>
#include <SDL.h>

#include <libavutil/log.h>
#include <libavutil/time.h>
#include <libavutil/avstring.h>
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
#include <libswscale/swscale.h>
#include <libswresample/swresample.h>


这样配制环境,有什么不对吗???
2023-04-23 01:24
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
并不是强制转换出了问题,而是没有强制转换之前不能通过编译阶段,无从进入链接阶段,所以链接阶段的问题没有暴露出来。
程序代码:
翠花不肯嫁给铁柱,就一个理由,铁柱没钱。
后来铁柱有钱了,娶了翠花。
婚后翠花总结了铁柱的29个缺点。
这总不能说是有钱的错吧?


[此贴子已经被作者于2023-4-23 10:52编辑过]


对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-04-23 10:15
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
11楼的问题,可能是因为那些头文件是按照纯C写的,没考虑到被C++调用,所以内容缺少 extern "C" 神马的。

库是纯C生成的,里面的函数名是原名。
当你用.cpp的时候,系统以为是C++,所以调用函数的时候就按照C++的解决重载的需求修改了函数名(加了一些@@神马的),于是和库里的函数名不一致了,于是找不到了。
不是找不到库,而是库里找不到函数。

当你用.c的时候,系统不会自以为是地修改函数名,所以就找到了。

所以按惯例,C++代码调用C库的时候,对应的.h文件里都有 extern "C" 字样,来告诉编译器不要乱改函数名。

[此贴子已经被作者于2023-4-23 10:47编辑过]


对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-04-23 10:22
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
大结论是,C和C++是区别很大的,是两种语言,不能主观上认为它们能随意互操作。

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-04-23 10:27
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 14楼 forever74
extern 外部的。
什么意思呀。。。。
不是在多个源文件,调用其它源文件中的函数时候才使用,extern吗。。。
C++不是完全支持C吗???
2023-04-23 17:18
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
回复 15楼 追梦人zmrghy
孩子支持爹妈和爹妈支持孩子
那从来不是同样的

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-04-23 20:23
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
https://blog.

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2023-04-23 20:27
追梦人zmrghy
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:399
专家分:190
注 册:2021-4-9
得分:0 
回复 17楼 forever74
谢谢了,
最近越学越迷糊。。。。。
最近,在学习FFmpeg, 网上实例代码,使用的全是旧版本的FFmpeg库。
FFmpeg新版本的库中很多API接口函数已经不存在了。。。
网上东拼西凑,找实例代码。。。。
自己只能研究,如何去除,代码中语法的错误。。。。。
却不知道,代码的含义是什么。。。。

只有早期的实例代码中,才写有中文注释。。。。。
但早期的实例代码中,很多API接口函数已经不存在了。。。。
FFmpeg新版本的库 头文件中注释全是鸟语(英文)。。。。
自己越学越迷糊。。。。
2023-04-23 22:08



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




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

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