如何在编译时链接Libb64库?

时间:2016-12-18 09:51:51

标签: c base64 linker-errors undefined-reference

我需要在我的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等参数编译代码,但它不起作用。

编译时我应该添加什么链接参数?或者有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试-lb64。这是一个猜测,可能无法正常工作。尝试一下,如果它不起作用,我会实际安装并准确回答。

编辑1:虽然它解决了你的问题,但这不是真正的答案。无论何时在Linux上安装库(假设您使用的是Linux),它都会以libxyz.so的名称安装,而您对编译器/链接器的切换应该是-lxyz。如果您不知道库的名称,请检查Synaptic之类的内容,以了解该软件包安装的文件。如果按源安装,请查看在安装目录的源目录中生成的库。我不知道yum, apt-getpacmanemerge的确切命令,它们是不同发行版的包管理器,但您也可以阅读手册页并了解它。