我正尝试在一个gcc程序中使用openssl,但它不起作用。
g++ server.cpp /usr/lib/libssl.a -o server
给出一条错误消息,任何使用-l
选项的操作都是如此。我必须在命令行上键入什么才能链接到openssl?文件/usr/lib/libssl.a
存在,但我仍然得到链接器错误no such function MD5() exists
。
发布于 2009-12-16 13:15:02
如果不知道您所看到的确切错误,就很难提供确切的解决方案。这是我最好的尝试。
从您提供的信息来看,链接器似乎失败了,因为它在libssl.a
中找不到对md5
函数的引用。我相信这个函数实际上是用libcrypto
编写的,所以你可能也需要指定这个库。
g++ server.cpp -L/usr/lib -lssl -lcrypto -o server
发布于 2014-02-23 20:07:26
在Eclipse IDE中,选择您的项目属性--> c/c++ Build --> Settings gcc c链接器(从tools设置)--> add to Library Search Path (-L)
/usr/lib -lssl -lcrypto
发布于 2018-12-28 10:05:00
库的位置不是固定的。在我的例子(Ubuntu18.04)中,.a文件位于/usr/lib/x86_64-linux-gnu/
中。下面是完整的步骤:
sudo apt install libss-dev
dpkg-query -L libssl-dev
3)更改gcc标志-L(library directory) -l(library name)
,例如:
gcc XXX.c XXXXX.c -L/usr/lib/x86_64-linux-gnu/ -lcrypto -lssl
https://stackoverflow.com/questions/1894013
复制相似问题