Неопределенные ссылки при компиляции проекта с libvpx

Я собрал libvpx.a и заголовки с MSYS (для MinGW). Когда я пытаюсь скомпилировать пример происходит много неопределенных ссылок на членов vpx:

g++ -m32 -static    -o dist/Debug/MinGW-Windows/test1 build/Debug/MinGW-Windows/main.o -L/D/Libraries/libvpx/ -lvpx
build/Debug/MinGW-Windows/main.o: In function `main':
D:\Projects\CPP_test\Test1/main.cpp:107: undefined reference to `die'
D:\Projects\CPP_test\Test1/main.cpp:109: undefined reference to `vpx_video_reader_open'
D:\Projects\CPP_test\Test1/main.cpp:111: undefined reference to `die'
D:\Projects\CPP_test\Test1/main.cpp:114: undefined reference to `die'
D:\Projects\CPP_test\Test1/main.cpp:116: undefined reference to `vpx_video_reader_get_info'
D:\Projects\CPP_test\Test1/main.cpp:118: undefined reference to `get_vpx_decoder_by_fourcc'
D:\Projects\CPP_test\Test1/main.cpp:120: undefined reference to `die'
D:\Projects\CPP_test\Test1/main.cpp:125: undefined reference to `die_codec'
D:\Projects\CPP_test\Test1/main.cpp:127: undefined reference to `vpx_video_reader_read_frame'
D:\Projects\CPP_test\Test1/main.cpp:132: undefined reference to `vpx_video_reader_get_frame'
D:\Projects\CPP_test\Test1/main.cpp:134: undefined reference to `die_codec'
D:\Projects\CPP_test\Test1/main.cpp:137: undefined reference to `vpx_img_write'
D:\Projects\CPP_test\Test1/main.cpp:144: undefined reference to `die_codec'
D:\Projects\CPP_test\Test1/main.cpp:149: undefined reference to `vpx_video_reader_close'

Все включает в себя сделано, библиотека связана …
Так что я делаю не так?

PS: Может быть, недостаточно связать файл libvpx.a, и мне также нужны файлы .c, которые поставляются вместе с исходными кодами (если так, я не понимаю, зачем нужен файл .a lib)?

0

Решение

Похоже, вы только что скопировали и слепо вставили из примера.

Функции die_codec а также vpx_video_* все приходят из tools_common.c (https://github.com/webmproject/libvpx/blob/master/tools_common.c) а также video_reader.h (https://github.com/webmproject/libvpx/blob/master/video_reader.c), который я считаю, не является основной частью SDK libvpx (см. здесь: http://www.webmproject.org/docs/webm-sdk/files.html).

Чтобы ваш пример работал, вам нужно скопировать и вставить эти файлы (оба .c а также .h файлы), а также включить их в свой main.cc файл.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]