【问题标题】:Undefined reference despite linking in OpenFEC-library尽管在 OpenFEC 库中链接,但未定义的引用
【发布时间】:2012-03-21 22:55:08
【问题描述】:

在我的代码中引用 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

我该如何解决这个问题?

【问题讨论】:

  • 库应始终位于源/目标文件之后。换句话说,把-lopenfec放在命令行的最后。
  • 感谢您的回复!错误仍然存​​在: anders@ubuntu:~/workspace/fectest$ gcc fectest.cpp -L../openfeclib/ -I../openfeclib/ -I../openfeclib -lopenfec /tmp/ccqNtnWi.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): 对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 t
  • 您在编译选项中使用了-lopenfec-l'openfec' 吗?因为后者不正确?
  • Appleman1234,感谢您的输入和更正!我也尝试过使用 -lopenfec,它产生了同样的错误。

标签: c++ gcc


【解决方案1】:

我(终于!!)提到了 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 库。您可以通过使用 extern "C" 包含您的 FFmpeg 来做到这一点。 "

我将相同的解决方案应用于我的 FFMpeg-problem 到 OpenFEC-library-problem。

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多