Неопределенная ссылка, несмотря на ссылки в OpenFEC-библиотеке - PullRequest
0 голосов
/ 14 марта 2012

Эта проблема возникает при обращении к функциям OpenFEC (openfec.org) в моем коде:

anders@ubuntu:~/workspace/fectest$ gcc -L../openfeclib/ -l'openfec' -I../openfeclib fectest.cpp
/tmp/ccEXLrdc.o: In function `main':
fectest.cpp:(.text+0x17a): undefined reference to `of_create_codec_instance(of_session**, of_codec_id_t, unsigned char, unsigned int)'
fectest.cpp:(.text+0x2db): undefined reference to `of_set_fec_parameters(of_session*, of_parameters*)'
fectest.cpp:(.text+0x347): undefined reference to `of_build_repair_symbol(of_session*, void**, unsigned int)'
fectest.cpp:(.text+0x395): undefined reference to `of_release_codec_instance(of_session*)'
collect2: ld returnerade avslutningsstatus 1

Файлы c, содержащие эти функции, включены в библиотеку openfec.

Команда nm ../openfeclib/libopenfec.so | grep of_release_codec дает:

000000000001a294 T of_release_codec_instance

Как мне решить эту проблему?

1 Ответ

2 голосов
/ 21 марта 2012

Меня (наконец-то !!) направили к решению в списке рассылки FFMpeg: http://ffmpeg.org/faq.html#I_0027m-using-FFmpeg-from-within-my-C_002b_002b-application-but-the-linker-complains-about-missing-symbols-which-seem-to-be-available_002e

Цитата: "FFmpeg - это чистый проект C, поэтому для использования библиотек в вашем приложении C ++ вынужно явно заявить, что вы используете библиотеку C. Вы можете сделать это, включив в свой FFmpeg использование extern "C". "

Я применил то же решение к моей проблеме FFMpeg к OpenFEC-library-проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...