我正在尝试将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 to
vp9_resize_frame420'
collect2:错误:ld返回1退出状态
make [1]: * [examples / resize_util]错误1
make:* [.DEFAULT]错误2
我的计算机上有libogg 1.3.1和libvorbis 1.3.2。 (不确定它们是否完全被使用过。)
我很难过,我真的很感激这里有一些指导。
答案 0 :(得分:1)
早期版本中的某些文件仍然存在(libs-armv7-linux-gcc.mk),尽管之前已调用make clean
。
我决定给它最后一个镜头,从一个新的目录开始,它有效。早期版本的文件可能会以某种方式干扰。我应该使用make distclean
代替。