我有C
代码,使用openssl
和crypto
进行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
有什么问题?
答案 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
)找到它。