从official OpenSSL site下载源文件。我按照OpenSSL文件夹中的INSTALL.M32文件。我打开msys.bat,转到OpenSSL文件夹,然后输入
$ ./config
它表示“为MinGW配置”,而不是我输入
$ make
几分钟后收到错误:
md2test.c:1:10: error: expected '=', ',', ';', 'asm' or '__attribute__' before '.' token
答案 0 :(得分:16)
我只是打开导致错误的文件(/test/"md5test.c; rc5test.c; jpaketest.c“)并替换了行
dummytest.c
到
#include "dummytest.c"
这是与上述相同的解决方案,除了它更快一点......
答案 1 :(得分:14)
问题是md2test.c
实际上是符号链接,或符号链接到dummytest.c
。
如果您使用
以外的任何内容提取openssl-1.0.1c.tar.gz
tar xf openssl-1.0.1c.tar.gz
然后没有保留这些符号链接。在Cygwin上它之后工作;不确定MinGW。
答案 2 :(得分:3)
在我的情况下,问题是很少有测试文件(据我记得3个)而不是C ++ - 编码文件的名称(类似于dummitest.c)。我将正确的代码从其他文件夹中的文件复制粘贴到该文件中,但名称相同,一切都很顺利。
答案 3 :(得分:2)
你用什么程序来解压缩'openssl-1.0.0x.tar.gz'? 7-zip是一个很棒的程序,但似乎有一个bug。
使用tar或其他解压缩程序,例如BreadZip。
tar zvxf openssl-1.0.0x.tar.gz
这是与上述相同的解决方案,除了它有点快......:)
答案 4 :(得分:1)
问题是存档中的符号链接,MinGW / MSYS似乎不理解。
您可以在解压缩时使用--derefence
(-h
)选项解决此问题。
例如tar -xzvfh archive.tar.gz
来自http://www.gnu.org/software/tar/manual/html_node/dereference.html:
当从存档中读取时,
--dereference' (
- h')选项会导致tar在tar写入或读取存档中指定的文件时遵循已存在的符号链接。
答案 5 :(得分:0)
我遇到了同样的问题。 由于问题在于构建测试时,我只是没有制作它们:
make Makefile openssl.pc libssl.pc libcrypto.pc build_libs build_apps build_tools
这是一个可怕的解决方案,但似乎有效。您可以获得库和工具,但不能获得测试套件。
我希望有人能给出更好的答案和/或修复代码中的问题(如果有的话)。