libvpx vp8 编码器:添加了所有依赖项但仍然 vp8_multi_resolution_encoder.file 编译错误

问题描述

我正在尝试编译文件。我已经构建了 libvpx 并使用 configure --target=x86_64-linux-gcc 进行制作。首先,我从示例文件夹中复制了 c 文件。然后开始编辑。首先解决所有包含问题。主要与 vpx_config.h 有关。都解决了仍然显示vpx_codec_control undefined。

我做错了什么吗?这里有解决方Undefined references when compiling project with libvpx 与此问题有关,但没有帮助我。

/tmp/ccufKmQE.o: In function `vpx_codec_control_VP8_SET_REFERENCE':
vp8_multi_resolution_encoder.c:(.text+0x106): undefined reference to `vpx_codec_control_'
/tmp/ccufKmQE.o: In function `vpx_codec_control_VP8_copY_REFERENCE':
vp8_multi_resolution_encoder.c:(.text+0x135): undefined reference to `vpx_codec_control_'
/tmp/ccufKmQE.o: In function `vpx_codec_control_VP8_SET_POSTPROC':
vp8_multi_resolution_encoder.c:(.text+0x164): undefined reference to `vpx_codec_control_'
/tmp/ccufKmQE.o: In function `vpx_codec_control_VP9_GET_REFERENCE':
vp8_multi_resolution_encoder.c:(.text+0x193): undefined reference to `vpx_codec_control_'
/tmp/ccufKmQE.o: In function `vpx_codec_control_VP8E_SET_FRAME_FLAGS':
vp8_multi_resolution_encoder.c:(.text+0x1c0): undefined reference to `vpx_codec_control_'
/tmp/ccufKmQE.o:vp8_multi_resolution_encoder.c:(.text+0x1ed): more undefined references to `vpx_codec_control_' follow
/tmp/ccufKmQE.o: In function `main':
vp8_multi_resolution_encoder.c:(.text+0x1723): undefined reference to `die'
vp8_multi_resolution_encoder.c:(.text+0x1728): undefined reference to `vpx_codec_vp8_cx'
vp8_multi_resolution_encoder.c:(.text+0x1730): undefined reference to `vpx_codec_iface_name'
vp8_multi_resolution_encoder.c:(.text+0x1801): undefined reference to `die'
vp8_multi_resolution_encoder.c:(.text+0x1851): undefined reference to `die'
vp8_multi_resolution_encoder.c:(.text+0x1919): undefined reference to `die'
vp8_multi_resolution_encoder.c:(.text+0x1a20): undefined reference to `die'
vp8_multi_resolution_encoder.c:(.text+0x1b2b): undefined reference to `vpx_codec_vp8_cx'
vp8_multi_resolution_encoder.c:(.text+0x1b3b): undefined reference to `vpx_codec_enc_config_default'
vp8_multi_resolution_encoder.c:(.text+0x1b75): undefined reference to `vpx_codec_err_to_string'
vp8_multi_resolution_encoder.c:(.text+0x1ff6): undefined reference to `vpx_img_alloc'
vp8_multi_resolution_encoder.c:(.text+0x205c): undefined reference to `die'
vp8_multi_resolution_encoder.c:(.text+0x21cb): undefined reference to `vpx_codec_vp8_cx'
vp8_multi_resolution_encoder.c:(.text+0x21fc): undefined reference to `vpx_codec_enc_init_multi_ver'
vp8_multi_resolution_encoder.c:(.text+0x221a): undefined reference to `die_codec'
vp8_multi_resolution_encoder.c:(.text+0x22b0): undefined reference to `die_codec'
vp8_multi_resolution_encoder.c:(.text+0x2337): undefined reference to `die_codec'
vp8_multi_resolution_encoder.c:(.text+0x237a): undefined reference to `die_codec'
vp8_multi_resolution_encoder.c:(.text+0x23b5): undefined reference to `die_codec'
/tmp/ccufKmQE.o:vp8_multi_resolution_encoder.c:(.text+0x2428): more undefined references to `die_codec' follow
/tmp/ccufKmQE.o: In function `main':
vp8_multi_resolution_encoder.c:(.text+0x28f2): undefined reference to `I420Scale'
vp8_multi_resolution_encoder.c:(.text+0x2bae): undefined reference to `vpx_codec_encode'
vp8_multi_resolution_encoder.c:(.text+0x2bc8): undefined reference to `die_codec'
vp8_multi_resolution_encoder.c:(.text+0x2e20): undefined reference to `vpx_codec_get_cx_data'
vp8_multi_resolution_encoder.c:(.text+0x2fd7): undefined reference to `sse_to_psnr'
vp8_multi_resolution_encoder.c:(.text+0x30d1): undefined reference to `vpx_codec_destroy'
vp8_multi_resolution_encoder.c:(.text+0x3105): undefined reference to `die_codec'
vp8_multi_resolution_encoder.c:(.text+0x312e): undefined reference to `vpx_img_free'
collect2: error: ld returned 1 exit status

如果我尝试用 g++ 而不是 gcc 编译

g++ vp8_multi_resolution_encoder.c 
vp8_multi_resolution_encoder.c: In function ‘int main(int,char**)’:
vp8_multi_resolution_encoder.c:438:9: error: ‘I420Scale’ was not declared in this scope
         I420Scale(
         ^~~~~~~~~
vp8_multi_resolution_encoder.c:438:9: note: suggested alternative:
In file included from vp8_multi_resolution_encoder.c:31:0:
third_party/libyuv/include/libyuv/scale.h:63:5: note:   ‘libyuv::I420Scale’
 int I420Scale(const uint8_t* src_y,

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...