我正在尝试在gcc程序中使用openssl,但它无法正常工作.
g++ server.cpp /usr/lib/libssl.a -o server
Run Code Online (Sandbox Code Playgroud)
给出错误消息,与-l选项的任何内容一样.我必须在命令行上键入什么才能与openssl链接?该文件/usr/lib/libssl.a存在,但我仍然得到链接器错误no such function MD5() exists.
jsc*_*ier 25
在不知道您所看到的确切错误的情况下,很难提供准确的解决方案.这是我最好的尝试.
根据您提供的信息,听起来好像链接器失败,因为它无法找到对该md5函数的引用libssl.a.我相信这个功能实际上是,libcrypto所以你可能还需要指定这个库.
g++ server.cpp -L/usr/lib -lssl -lcrypto -o server
wil*_*ill 11
您或其他人可能会发现这篇文章对developerWorks文章有帮助:
它描述了使用OpenSSL和C/C++开展工作所需要了解的大部分内容.如果您发现您正在遵循大多数相同的步骤,那么它可能会帮助您了解需要做什么.
祝好运.
小智 5
在Eclipse IDE中选择Your Project属性 - > c/c ++ Build - > Settings gcc c linker(来自工具设置) - >添加到Library Search Path(-L)
/ usr/lib -lssl -lcrypto
小智 5
图书馆的位置不固定。在我的情况下(Ubuntu 18.04),.a 文件位于/usr/lib/x86_64-linux-gnu/. 所以这里是完整的步骤:
1)安装库,
sudo apt install libss-dev
Run Code Online (Sandbox Code Playgroud)
2)检查安装的文件,
dpkg-query -L libssl-dev
Run Code Online (Sandbox Code Playgroud)
3)更改gcc标志-L(library directory) -l(library name),例如,
gcc XXX.c XXXXX.c -L/usr/lib/x86_64-linux-gnu/ -lcrypto -lssl
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55118 次 |
| 最近记录: |