在linux下面用openssl库,去/lib下面查了一下发现ubuntu已经预装了openssl,但是include以及lib里面没有和ssl,openssl相关的.h .a .so等文件,所以推测,ubuntu可能只是安装了openssl这个命令,没有给我们开发者装开发环境,于是又用 apt-get装openssl,发现那个默认的网页不在了.
没办法自己下openssl库,自己装.
当然前期根据readme,
./config
make
make test
make install一步步的来.
但是装完库,运行了测试程序,编译都不通过,找不到include的openssl的头文件,原来是编译完以后,忘了把openssl的include文件放到系统默认的include文件夹下,又顺道把lib文件也放过去, 最后编译心想这回应该行了吧
可是还是有问题,我就想不通了,这有什么问题?
最后我又看了一眼lib文件,我擦有两个,一个是名字比较特殊的libcrypto.a 把链接的库改成他,一试,果然成功了.
没想到,DES的函数是在libcrypto.a里面实现的,不是libssl库.
以下是我的编译命令,如果有遇到同样问题的同学可以看看.
g++ main.o mySSL.o -o out -lcrypto
当然,你也可以不用把lib等放过去,在命令里面加上地址
g++ main.o mySSL.o -o out -lcrypto -L/usr/lib/xxxx