ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

windows 使用mingw编译静态qssh

2021-05-09 14:59:52  阅读:676  来源: 互联网

标签:mingw32 windows botan 编译 PWD mingw qssh cpp include


Note: 将mingw32的bit目录放到环境变量中

1. 编译botan

下载botan2.14.0(https://github.com/randombit/botan/tags), 其他botan版本兼容没试, 或许你可以试试, 高版本编译语句一样, 只是1.几的版本编译语句稍微自己研究下, 没记录

1) 生成Makefile

    python configure.py --os=mingw --cpu=x86_32 --cc-bin=i686-w64-mingw32-g++.exe --ar-command=i686-w64-mingw32-gcc-ar

2) 编译

mingw32-make 

3) 编译安装

提前修改Makefile, 将里面的\Mingw 替换成./Mingw 即安装目录为当前目录的mingw, 再直行下面指令,产生如下图文件目录

mingw32-make install

2. qssh环境搭建

下载源码 https://github.com/lvklabs/QSsh 

1)新建botan目录, 将一种产生的文件全部放进去, 再创建Qt project include文件(.pri)

##botan.pri 内容
INCLUDEPATH += $$PWD/include/botan-2
DEPENDPATH  += $$PWD/include/botan-2

LIBS += -L$$PWD/lib -llibbotan-2

2) 将下载的源码库的libs内的源码全部拷贝到一个新的目录, 例如取名叫qssh

##ssh.pri文件内容
INCLUDEPATH += $$PWD
include($$PWD/botan/botan.pri)

HEADERS += \
    $$PWD/sftpchannel.h \
    $$PWD/sftpchannel_p.h \
    $$PWD/sftpdefs.h \
    $$PWD/sftpfilesystemmodel.h \
    $$PWD/sftpincomingpacket_p.h \
    $$PWD/sftpoperation_p.h \
    $$PWD/sftpoutgoingpacket_p.h \
    $$PWD/sftppacket_p.h \
    $$PWD/ssh_global.h \
    $$PWD/sshbotanconversions_p.h \
    $$PWD/sshcapabilities_p.h \
    $$PWD/sshchannel_p.h \
    $$PWD/sshchannelmanager_p.h \
    $$PWD/sshconnection.h \
    $$PWD/sshconnection_p.h \
    $$PWD/sshconnectionmanager.h \
    $$PWD/sshcryptofacility_p.h \
    $$PWD/ssherrors.h \
    $$PWD/sshexception_p.h \
    $$PWD/sshincomingpacket_p.h \
    $$PWD/sshkeyexchange_p.h \
    $$PWD/sshkeygenerator.h \
    $$PWD/sshkeypasswordretriever_p.h \
    $$PWD/sshoutgoingpacket_p.h \
    $$PWD/sshpacket_p.h \
    $$PWD/sshpacketparser_p.h \
    $$PWD/sshpseudoterminal.h \
    $$PWD/sshremoteprocess.h \
    $$PWD/sshremoteprocess_p.h \
    $$PWD/sshremoteprocessrunner.h \
    $$PWD/sshsendfacility_p.h

SOURCES += \
    $$PWD/sftpchannel.cpp \
    $$PWD/sftpdefs.cpp \
    $$PWD/sftpfilesystemmodel.cpp \
    $$PWD/sftpincomingpacket.cpp \
    $$PWD/sftpoperation.cpp \
    $$PWD/sftpoutgoingpacket.cpp \
    $$PWD/sftppacket.cpp \
    $$PWD/sshcapabilities.cpp \
    $$PWD/sshchannel.cpp \
    $$PWD/sshchannelmanager.cpp \
    $$PWD/sshconnection.cpp \
    $$PWD/sshconnectionmanager.cpp \
    $$PWD/sshcryptofacility.cpp \
    $$PWD/sshincomingpacket.cpp \
    $$PWD/sshkeyexchange.cpp \
    $$PWD/sshkeygenerator.cpp \
    $$PWD/sshkeypasswordretriever.cpp \
    $$PWD/sshoutgoingpacket.cpp \
    $$PWD/sshpacket.cpp \
    $$PWD/sshpacketparser.cpp \
    $$PWD/sshremoteprocess.cpp \
    $$PWD/sshremoteprocessrunner.cpp \
    $$PWD/sshsendfacility.cpp

3. ssh源码内要去除 QSSH_EXPORT, 不然编译报错

 

Note:

1. SOURCES 和 HEADERS不要使用 *.h 和 *.cpp 进行包含,要一个个文件包含,不然编译时出错;

参考文章

win10系统下Qssh mater(支持sftps协议)包括依赖库的下载和编译

https://blog.csdn.net/aclcla/article/details/107137690

 

标签:mingw32,windows,botan,编译,PWD,mingw,qssh,cpp,include
来源: https://blog.csdn.net/halo_hsuh/article/details/116564450

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有