如何在 GCC 中使用 OpenSSL?

2021-12-18 00:00:00 gcc linker c++

我正在尝试在 gcc 程序中使用 openssl 但它不起作用.

I'm trying to use openssl in a gcc program but it isn't working.

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

给出错误消息,与 -l 选项一样.我必须在命令行上输入什么才能与 openssl 链接?文件 /usr/lib/libssl.a 存在,但我仍然收到链接器错误no such function MD5() exists.

gives an error message, as does anything with the -l option. What must I type on the command line to link with openssl? The file /usr/lib/libssl.a exists, but nevertheless I still get the linker error no such function MD5() exists.

推荐答案

如果不知道所看到的确切错误,就很难提供准确的解决方案.这是我最好的尝试.

Without knowing the exact errors you are seeing, it is difficult to provide an exact solution. Here is my best attempt.

从您提供的信息来看,链接器似乎失败了,因为它在 libssl.a 中找不到对 md5 函数的引用.我相信这个函数实际上在 libcrypto 中,所以你可能也需要指定这个库.

From the information you provided, it sounds as though the linker is failing because it cannot find a reference to the md5 function in libssl.a. I believe this function is actually in libcrypto so you may need to specify this library as well.

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

相关文章