2013-10-11 62 views
2

我有一个需要在Windows7上编译的C文件。我已经为gcc安装了MinGW。我还需要OpenSSL,因此遵循其网站上的链接并下载了Shining Light Productions的完整开发包(以及来自MS的64位Redistro包)。在Windows上缺少libcrypto等效

当我尝试使用这个命令来编译我的文件:

gcc -D_WIN32 -O2 -shared -Wl,--kill-at -lcrypto -I%JAVA_HOME%\include -I%JAVA_HOME%\include\win32 -IC:\OpenSSL-Win64\include -LC:\OpenSSL-Win64\lib -lm -std=c99 osaccess.c -o libosaccess.dll 

我得到的错误:

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

我发现了什么特别奇特,是在使用的UNIX风格的斜杠错误。此外,路径是正确的,但案件不是。有效的路径是C:\MinGW\bin...我也无法在任何地方找到任何加密库(libcrypto。*或crypt * lib。*),所以我想这就是为什么它找不到-lcrypto。我会认为这将完全安装。有没有其他人遇到过这种情况,或知道它为什么会发生?

+0

可能重复[我的libcrypto链接在Windows上有什么问题?](http://stackoverflow.com/questions/6566746/what-is-wrong-with-my-libcrypto-linking-on-windows) – jww

回答

1

Shining Light分配的正确库名称为libeay32(在lib/libeay32.lib处找到)。该库对应于libcrypto