请从官方 OpenSSL 网站下载源文件。我按照 OpenSSL 文件夹中的 INSTALL.M32 文件进行操作。我打开 msys.bat,进入 OpenSSL 文件夹,然后输入以下命令:
$ ./config
它显示“配置为MinGW”,然后我输入
$ make
几分钟后收到错误:
md2test.c:1:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
请从官方 OpenSSL 网站下载源文件。我按照 OpenSSL 文件夹中的 INSTALL.M32 文件进行操作。我打开 msys.bat,进入 OpenSSL 文件夹,然后输入以下命令:
$ ./config
$ make
几分钟后收到错误:
md2test.c:1:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
dummytest.c
对不起,您需要提供更具体的内容才能进行翻译。 "to
" 不足以理解上下文或意图。请提供更多细节。#include "dummytest.c"
这是与上述解决方案相同的解决方案,只是速度稍快...
问题在于md2test.c
实际上是指向dummytest.c
的一个符号链接或软链接。
如果您使用除以下方法以外的任何方式解压openssl-1.0.1c.tar.gz
,则会导致错误。
tar xf openssl-1.0.1c.tar.gz
那么这些符号链接将不被保留。在 Cygwin 上可以正常工作;对于 MinGW 不确定。
在我的案例中,问题是少数测试文件(我记得是3个)的名字不是C++代码,而是文件名(类似于dummitest.c)。我从另一个文件夹中复制和粘贴了正确的代码到这些文件中,并使用相同的名称,一切都很好。
rc5test.c
和 jpaketest.c
。 - Nathan Osman使用tar或其他解压缩程序,如BreadZip。
tar zvxf openssl-1.0.0x.tar.gz
这与上面提到的解决方案相同,只是速度稍快... :)
问题在于压缩包中的符号链接MinGW/MSYS无法理解。
可以通过在提取时使用--derefence
(-h
)选项来解决此问题。
例如:tar -xzvfh archive.tar.gz
来自http://www.gnu.org/software/tar/manual/html_node/dereference.html:
当从归档文件中读取时,
--dereference' (
-h') 选项会导致tar在写入或读取存档文件中命名的文件时遵循已经存在的符号链接。
我遇到了同样的问题。 由于测试构建时出现问题,我只是没有进行构建:
make Makefile openssl.pc libssl.pc libcrypto.pc build_libs build_apps build_tools
这是一个可怕的解决方案,但它似乎能够工作。你可以得到库和工具,但没有测试套件。
我希望有人能给出更好的答案和/或修复代码中的问题(如果有的话)。