构建 libvpx 时未定义的引用

Undefined reference when building libvpx

我正在尝试将 libvpx 构建为静态库,以便稍后在 FFmpeg 构建中使用,但我遇到了问题。我使用的libvpx版本是1.6.0.

这是我的配置: ./configure --prefix=/home/test/Dev/build-x64/libvpx/ --enable-static --disable-shared --target=x86_64-linux-gcc

并且在 make 期间,有很多错误被转储到屏幕上:

[LD] test_libvpx
test/add_noise_test.cc.o: In function `(anonymous namespace)::gtest_CAddNoiseTest_EvalGenerator_()':
add_noise_test.cc:(.text+0x342): undefined reference to `vpx_plane_add_noise_c'
test/add_noise_test.cc.o: In function `(anonymous namespace)::gtest_SSE2AddNoiseTest_EvalGenerator_()':
add_noise_test.cc:(.text+0x492): undefined reference to `vpx_plane_add_noise_sse2'
test/add_noise_test.cc.o: In function `(anonymous namespace)::AddNoiseTest_CheckCvsAssembly_Test::TestBody()':
add_noise_test.cc:(.text+0x2437): undefined reference to `vpx_setup_noise'
add_noise_test.cc:(.text+0x2448): undefined reference to `vpx_calloc'
add_noise_test.cc:(.text+0x245a): undefined reference to `vpx_calloc'
add_noise_test.cc:(.text+0x2779): undefined reference to `vpx_plane_add_noise_c'
add_noise_test.cc:(.text+0x2934): undefined reference to `vpx_free'
add_noise_test.cc:(.text+0x293c): undefined reference to `vpx_free'
(...and a lot more.)

认识到错误始于测试,我尝试禁用单元测试: ./configure --prefix=/home/test/Dev/build-x64/libvpx/ --enable-static --disable-shared --target=x86_64-linux-gcc --disable-unit-tests

而是得到了这个: (...很多行...) [CC] examples/resize_util.c.o [LD] examples/resize_util examples/resize_util.c.o: 在函数中 main': resize_util.c:(.text.startup+0x1e8): undefined reference tovp9_resize_frame420' collect2:错误:ld 返回 1 退出状态 make[1]: * [examples/resize_util] 错误 1 make: * [.DEFAULT] 错误 2

我的电脑上有 libogg 1.3.1 和 libvorbis 1.3.2。 (不确定它们是否被使用。)

我很困惑,非常感谢这里的一些指导。

早期版本的一些文件仍然存在 (libs-armv7-linux-gcc.mk),尽管之前调用了 make clean

我决定给它最后一击,在一个新目录中重新开始,它成功了。来自早期构建的文件可能会以某种方式干扰。我应该改用 make distclean