C+中的ffmpeg+&引用;av“所有未在本范围内声明的注册”; 我试图用C++编写这个简单的程序(代码块): \ifdef\uuucplusplus 外部“C”{ #恩迪夫 #包括 #包括 #ifdef_uucplusplus }; #恩迪夫 int main(int argc,char*argv[]){ av_寄存器_all(); 返回0; }

C+中的ffmpeg+&引用;av“所有未在本范围内声明的注册”; 我试图用C++编写这个简单的程序(代码块): \ifdef\uuucplusplus 外部“C”{ #恩迪夫 #包括 #包括 #ifdef_uucplusplus }; #恩迪夫 int main(int argc,char*argv[]){ av_寄存器_all(); 返回0; },c++,ffmpeg,C++,Ffmpeg,但是,我不断收到错误消息: |11 |错误:“av_register_all”未在此范围内声明| 其他人似乎有这个问题,添加extern“C”部分似乎解决了他们的问题,但我没有。有人有什么建议吗 谢谢您是否设置了附加库/附加包含文件? 您可以在MSVC++中找到如何实现它,我使用了一些代码块&从未包含外部库,但是我认为您应该能够将其应用于代码块 #ifdef __cplusplus extern "C" { #endif #include <libavutil/avutil

但是,我不断收到错误消息: |11 |错误:“av_register_all”未在此范围内声明|

其他人似乎有这个问题,添加
extern“C”
部分似乎解决了他们的问题,但我没有。有人有什么建议吗


谢谢

您是否设置了附加库/附加包含文件? 您可以在MSVC++中找到如何实现它,我使用了一些代码块&从未包含外部库,但是我认为您应该能够将其应用于代码块

#ifdef __cplusplus
extern "C" {
    #endif
    #include <libavutil/avutil.h>
    #include <libavcodec/avcodec.h>
#ifdef __cplusplus
};
#endif

int main(int argc, char *argv[]) {
    av_register_all();
    return 0;
}