我需要在我的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等参数编译代码,但它不起作用。
编译时我应该添加什么链接参数?或者有什么方法可以解决这个问题吗?
答案 0 :(得分:2)
您可以尝试-lb64
。这是一个猜测,可能无法正常工作。尝试一下,如果它不起作用,我会实际安装并准确回答。
编辑1:虽然它解决了你的问题,但这不是真正的答案。无论何时在Linux上安装库(假设您使用的是Linux),它都会以libxyz.so
的名称安装,而您对编译器/链接器的切换应该是-lxyz
。如果您不知道库的名称,请检查Synaptic之类的内容,以了解该软件包安装的文件。如果按源安装,请查看在安装目录的源目录中生成的库。我不知道yum, apt-get
或pacman
或emerge
的确切命令,它们是不同发行版的包管理器,但您也可以阅读手册页并了解它。