在Borland c++ Builder下构建OpenSSL, Win 8.1
Building OpenSSL under Borland C++ Builder, Win 8.1
我遵循INSTALL的说明。W32(各种OpenSSL版本),一般是:
* Configure for building with Borland Builder:
> perl Configure BC-32
* Create the appropriate makefile
> msdo_nasm
* Build
> make -f msbcb.mak
现在,当我尝试构建时,我确实得到两种错误:
For OpenSSL <1.0.0
nasmw -f obj -d__omf__ -ocryptomd5asmm5_win32.obj .cryptomd5asmm5_win32.asm
'nasmw' is not recognized as an internal or external command,
operable program or batch file.
否则Warning W8017 C:CBuilder5Includesys/stat.h 34: Redefinition of 'S_IFMT' is not identical
Warning W8017 C:CBuilder5Includesys/stat.h 35: Redefinition of 'S_IFDIR' is not identical
Error E2227 .cryptorandrandfile.c 226: Extra parameter in call to _open in function RAND_write_file
Warning W8053 .cryptorandrandfile.c 262: '_chmod(const signed char *,int,...)' is obsolete in function RAND_write_file
*** 1 errors in Compile ***
是的,我对使用Borland c++ Builder 5感到很糟糕,但我对此无能为力,是的,如果其他一切都失败了,我会考虑Shining Light选项。
我不使用OpenSSL,但从你的文本一些提示:
- NASM
- 不是Borland编译器的默认汇编器
- 你需要先下载并安装
- (这是免费的,也是我过去使用过的最好的编译器之一)
您在包含OpenSSL之前缺少一些
#define
或包含顺序错误- ,这就是为什么你有第一个警告和最有可能的错误
- 一些库需要添加配置
#defines
(由一些特定的IDE添加) - 指定编译器、平台、端序…使用
- 之前包含
- 通常如果你以错误的顺序包含,那么定义是为lib文件的某些实例定义的,而不是为所有实例定义的
- 所以试着重新排序include
- 有时有助于在lib之前包含其他一些东西,如conio, studio,windows,…
- 确定哪个定义缺失或错误打开
stat.h
在
S_IFMT
周围寻找
#ifdef
#ifndef
语句 最新版本(1.0.2d)的解决方案是:
- 从randfile中删除额外的参数(如注释所述,这是不必要的),
- 编辑 bcb女士。马克,搜索
-DMD5_ASM -DSHA1_ASM -DRMD160_ASM
并改为-DMD5_NO_ASM -DSHA1_NO_ASM -DRMD160_NO_ASM
。(SHA, MD5和RMD160存在未解决的外部错误,基本上无法在asm中编译)。
还包括其他一些步骤,但它们只是特定于我的环境。
在Windows XP SP3环境中,我添加了"-DOPENSSL_NO_POSIX_IO"到中央情报局的CFLAG。
相关文章:
- Openssl 1.1.1d无效使用不完整的类型"struct dsa_st"
- 如何在openssl-ecc中获取十六进制格式的私钥
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- OpenSSL TLS服务器-使用客户端证书白名单
- 通过 Openssl 命令行加密,通过 c++ 解密
- 使用已使用 java 编码的 openssl 解码数据
- OpenSSL没有共享密码
- OpenSSL 解密功能无法正常工作
- OpenSSL BIO and SSL_read
- 如何在OpenSSL库的名称中添加后缀'd'?
- 避免碎片化的ClientHellos with OpenSSL (DTLS)
- Boost.Asio/OpenSSL HTTPS GET certificate trouble
- 使用 OpenSSL 从内存中读取原始 SSL/TLS 证书
- 如何找出应用程序崩溃的原因 - Win 10 LTSB
- 验证openssl c++中的签名,这是由JAVA DSA签名的?
- OpenSSL: EC_POINT_set_compressed_coordinates_GFp segfault
- 在 C/C++ 中加载 OpenSSL 自定义引擎
- php openssl 签名字符串未通过 Win CryptoAPI 验证
- 在Borland c++ Builder下构建OpenSSL, Win 8.1