2009-12-12 151 views
20

我想在gcc程序中使用openssl,但它不工作。如何在GCC中使用OpenSSL?

g++ server.cpp /usr/lib/libssl.a -o server 

给出了一条错误消息,与-l选项中的任何操作一样。我必须在命令行上键入与openssl链接的内容?文件/usr/lib/libssl.a存在,但仍然收到链接器错误no such function MD5() exists

+1

我看不出使用-l的在您发布的te命令中。不要在大写的情况下发布你的问题 - 呼喊是粗鲁的。 – 2009-12-12 17:01:56

+2

像'g ++ server.cpp -L/usr/lib -lssl -o服务器'应该这样做。发布确切的错误,你得到的和有人可以帮助。我第二次尼尔在呐喊声中;) – 2009-12-12 17:03:26

+0

你缺少'/ usr/lib/libcrypto.a'。 'libcrypto'提供'libssl'使用的加密。因为LD是单通道liker:'/usr/lib/libssl.a/usr/lib/libcrypto.a',所以按照这个顺序添加这两个。 – jww 2015-09-17 23:52:18

回答

22

不知道你看到的确切的错误,很难提供一个确切的解决方案。这是我最好的尝试。

根据您提供的信息,听起来好像链接程序失败,因为它无法在libssl.a中找到对md5函数的引用。我相信这个函数实际上是在libcrypto中,所以你可能需要指定这个库。

g++ server.cpp -L/usr/lib -lssl -lcrypto -o server

5

在Eclipse IDE中选择项目属性 - > C/C++编译 - >设置GCCÇ连接器(从工具设置) - >添加到库搜索路径(-L)

/usr/lib目录-lssl -lcrypto