社区
网络协议与配置
帖子详情
openssh源代码在windows下怎么编译
weixin_41001259
2021-02-04 12:56:58
怎么在windows下编译openssh,网上的资料都是在linux下的
...全文
128
1
打赏
收藏
openssh源代码在windows下怎么编译
怎么在windows下编译openssh,网上的资料都是在linux下的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
胖牛大侠
2021-08-21
打赏
举报
回复
何不直接用win的包
Windows
安装
openSSH
[可运行源码]
本文详细介绍了在
Windows
系统下安装
OpenSSH
的三种方法。
OpenSSH
是安全Shell工具的开放
源代码
版本,适用于跨平台管理远程系统。方法一通过
Windows
设置安装,适用于
Windows
10(2018秋季之后版本)、
Windows
Server 2019等;方法二使用PowerShell安装,适合管理员操作;方法三通过下载安装包安装,适用于除
Windows
2000、XP或2003外的所有版本。文章还提供了安装后的配置步骤,包括启动服务、防火墙规则设置以及连接
OpenSSH
服务器的详细指南。附录中包含了
OpenSSH
手册页和下载地址的链接,方便用户进一步参考。
OpenSSH
-Win64.7z
OpenSSH
-Win64.7z
openssh
-9.9p1, openssl-1.1.1w
openssh
-9.9p1, openssl-1.1.1w
OpenSSH
9.5p1
OpenSSL3.0.12
转载:已
编译
好的
openssh
库
可以直接用别人做好的
windows
OpenSSL 安装包(我用的是0.9.8j版), 可以从 http://www.slproweb.com/products/Win32OpenSSL.html 下载 OpenSSL for
Windows
,直接安装。 P.S. OpenSSL for
Windows
的
源代码
有一些数据类型和VC6的
编译
器不兼容,我发现的不兼容的数据类型如下: 在OpenSSL安装目录的下的include/bn.h文件中,将 #define BN_ULLONG unsigned long long #define BN_ULONG unsigned long long #define BN_LONG long long 分别修改为: #define BN_ULLONG ULONGLONG #define BN_ULONG ULONGLONG #define BN_LONG LONGLONG 否则,会出现
编译
错误。 二、使用OpenSSL 在VC中配置使用以上的函数库: 点击菜单:Tools -> Options,弹出对话框"Options",在该对话框中选择"Directories"标签。 在"Show directories for:"的"Include files"选项中新增目录"C:\openssl\include"; "Library files"选择中新增目录"C:\openssl\lib"。 然后在需要链接OpenSSL函数库的工程中加入如下两句: #pragma comment(lib, "ssleay32.lib") #pragma comment(lib, "libeay32.lib") 其作用是将OpenSSL所需的库导入工程中。 三、问题 我在链接OpenSSL的静态函数库时遇到类似以下的问题: Linking... msvcrt.lib(MSVCRT.dll) : error LNK2005: _strchr already defined in libcmtd.lib(strchr.obj) ... 这是由于OpenSSL的静态函数库使用的是了VC的多线程DLL的Release版本,而我的程序使用了多线程静态链接的Release版本。 调整OpenSSL的静态函数库使用的库函数版本即可,调整过程如下: 编辑文件 ms\nt.mak,将该文件第19行 "CFLAG= /MD /Ox /O2 /Ob2 /W3 /WX /Gs0 /GF /Gy /nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -D_CRT_SECURE_NO_DEPRECATE - D_CRT_NONSTDC_NO_DEPRECATE /Fdout32 -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_TLSEXT -DOPENSSL_NO_KRB5 - DOPENSSL_NO_DYNAMIC_ENGINE" 中的"/MD"修改为"/MT"。然后重新
编译
安装OpenSSL即可。 四、附录:在VC中对C/C++ 运行时库不同版本
编译
指令说明 《在VC中对C/C++ 运行时库不同版本
编译
指令说明》(http://blog.yesky.com/271/dgkang/1737771.shtml)一文中详细介绍了连接不同版本库的
编译
指令如下: C Runtime Library: /MD MSVCRT.LIB 多线程DLL的Release版本 /MDd MSVCRTD.LIB 多线程DLL的Debug版本 /MT LIBCMT.LIB 多线程静态链接的Release版本 /MTd LIBCMTD.LIB 多线程静态链接的Debug版本 /clr MSVCMRT.LIB 托管代码和非托管代码混合 /clr:pure MSVCURT.LIB 纯托管代码 C++ Standard Library: /MD MSVCPRT.LIB 多线程DLL的Release版本 /MDd MSVCPRTD.LIB 多线程DLL的Debug版本 /MT LIBCPMT.LIB 多线程静态链接的Release版本 /MTd LIBCPMTD.LIB 多线程静态链接的Debug版本
网络协议与配置
1,748
社区成员
1,305
社区内容
发帖
与我相关
我的任务
网络协议与配置
网络协议与配置相关内容讨论专区
复制链接
扫一扫
分享
社区描述
网络协议与配置相关内容讨论专区
网络协议
网络安全
tcp/ip
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章