я получаю эту проблему, обращаясь к OpenFEC (openfec.org) -функции в моем коде:Неопределенная ссылка, несмотря на ссылки в OpenFEC-библиотеке
[email protected]:~/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
С-файлы, содержащие эти функции включены в openfec- библиотека.
Команда nm ../openfeclib/libopenfec.so | grep of_release_codec
дает:
000000000001a294 T of_release_codec_instance
Как решить эту проблему?
Библиотеки всегда должны быть за исходными/объектными файлами. Другими словами, поместите '-lopenfec' последним в командной строке. –
Спасибо за ответ! Ошибка остается: anders @ ubuntu: ~/workspace/fectest $ gcc fectest.cpp -L ../ openfeclib/-I ../ openfeclib/-I ../ openfeclib -lopenfec /tmp/ccqNtnWi.o: В функции 'main ': fectest.cpp :(. Text + 0x17a): неопределенная ссылка на' of_create_codec_instance (of_session **, of_codec_id_t, unsigned char, unsigned int)' fectest.cpp :(. Text + 0x2db): undefined ссылка на 'of_set_fec_parameters (of_session *, of_parameters *) ' fectest.cpp :(. text + 0x347): неопределенная ссылка на' of_build_repair_symbol (of_session *, void **, unsigned int)' fectest.cpp :(. text + 0x395): undefined reference t –
Вы использовали '-lopenfec' или' -l'openfec'' в своих параметрах компиляции? Потому что последнее неверно? – Appleman1234