C-如何链接编译时的Libb64库



我需要在C程序中使用base64编码/解码,然后尝试使用Libb64库的某些功能。当我编译代码时,它给出以下错误:

... undefined reference to 'base64_init_encodestate'
... undefined reference to 'base64_encode_block'
... undefined reference to 'base64_encode_blockend'
collect2: error: ld returned 1 exit status

我尝试使用诸如-libb64,-llibb64,-lbase64之类的参数编译代码,但它不起作用。

编译时我应该添加什么链接参数?还是有任何方法解决此问题?

您可以尝试-lb64。这是一个猜测,可能行不通。尝试一下,如果它不起作用,我实际上会准确地安装和回答。

编辑1:尽管它解决了您的问题,但这不是真正的答案。每当您在Linux上安装库时(这是您正在使用Linux的假设),则以libxyz.so的名称安装,然后您的开关为编译器/链接器应为-lxyz。如果您不知道库的名称,请检查突触之类的东西,以了解该软件包安装的文件。如果您是通过源安装的,请查看从您要安装的位置中生成的库。我不知道yum, apt-getpacmanemerge的确切命令,它是用于不同发行版的包装管理器,但您也可以阅读MAN页面并知道。

最新更新