2016-08-24 2 views
0

Я пытаюсь создать libvpx как статическую библиотеку, которая позже будет использоваться в сборке FFmpeg, и у меня возникнут проблемы. Версия libvpx, которую я использую, - 1.6.0.Неопределенная ссылка при создании libvpx

Вот мой конфиг: ./configure prefix =/дом/тест/Dev/билд-x64/libvpx/--enable-статический повреждают-общий --target = x86_64-Linux-GCC

И в замыкающих, есть много ошибок, которые сбрасываются на экране:

[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 =/дома/испытание/Dev/build-x64/libvpx/--enable-static --disable-shared --target = x86_64-linux-gcc -disable-unit-tests

И получил вместо этого: (... много линий ...) [CC] примеры/resize_util.co [LD] Примеры/resize_util примеров/resize_util.co: В функции main': resize_util.c:(.text.startup+0x1e8): undefined reference to vp9_resize_frame420' collect2: ошибка: л.д. возвращается статус 1 выхода марка [1]: * [примеры/resize_util] ошибка 1 марка: * [.DEFAULT] ошибка 2

у меня есть libogg 1.3.1 и 1.3.2 libvorbis на мой компьютер. (Не уверен, что они вообще используются.)

Я в тупике, и я был бы очень признателен за некоторые рекомендации здесь.

ответ

1

Некоторые файлы из более ранних сборников все еще присутствуют (libs-armv7-linux-gcc.mk), несмотря на то, что раньше он вызывал make clean.

Я решил дать ему последний выстрел, начав в новом каталоге, и это сработало. Файлы из более ранней сборки могут каким-то образом вмешиваться. Вместо этого я должен был использовать make distclean.