从官方 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
它说“为 MinGW 配置”,而不是我输入
$ make
几分钟后收到错误:
md2test.c:1:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
我只是打开了导致错误的文件 (/test/"md5test.c; rc5test.c; jpaketest.c") 并替换了该行
dummytest.c
至
#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)。我从其他文件夹的文件中将正确的代码复制粘贴到该文件中,但名称相同,一切正常。
你用什么程序解压'openssl-1.0.0x.tar.gz'?7-zip 是一个很棒的程序,但似乎有一个错误。
使用 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 在 tar 写入或读取存档中指定的文件时遵循已存在的符号链接。
我有同样的问题。由于问题是在构建测试时,我只是没有制作它们:
make Makefile openssl.pc libssl.pc libcrypto.pc build_libs build_apps build_tools
是一个可怕的解决方案,但它似乎工作。你得到了库和工具,但没有得到测试套件。
我希望有人给出更好的答案和/或解决代码问题(如果有的话)。