在MinGW中找不到加密库

时间:2014-01-07 03:04:24

标签: c windows openssl mingw

我有C代码,使用opensslcrypto进行AES加密。
它在linux中编译没有问题 但是在Windows和MinGW中,它给出了:

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lcrypto
collect2.exe: error: ld returned 1 exit status

我正在使用这个编译:

gcc code.c -lcrypto -Ic:\OpenSSL-Win32\include -Lc:\mingw\msys\1.0\local\lib

有什么问题?

1 个答案:

答案 0 :(得分:1)

这有点奇怪:

gcc code.c -lcrypto -Ic:\OpenSSL-Win32\include -Lc:\mingw\msys\1.0\local\lib

尝试:

gcc code.c -Ic:\OpenSSL-Win32\include -Lc:\mingw\msys\1.0\local\lib -lcrypto

默认情况下,OpenSSL会自行安装到/usr/local/ssl,这意味着您的库通常是/usr/local/ssl/lib。你改变了吗?我不确定在MinGW下会转换成什么。

也许您可以提供ls c:\mingw\msys\1.0\local\lib。如果该库不存在,请尝试使用find c:\mingw\msys\1.0\local -iname libcrypto.a(或libcrypto.so)找到它。