zoukankan      html  css  js  c++  java
  • 使用mingw 对libcURL,openSSL,zLib交叉编译

    使用mingw 对libcURL,openSSL,zLib交叉编译

     
    将三个库解压到同一目录下 比如取目录名为 "source" 的目录
     
    提前安装active-perl
    配置好mingw和msys环境
    否则编译会出错
     
    - source
    + curl-xxx
    + openssl-1.0.xx
    + zlib-xxx
     
     
    1第一步 (在msys环境中执行)
    编译openssl 依次输入四个指令
    ./config -t
    ./config threads shared no-capieng
    make depend
    make
     
    会生成 libcrypto.a libssl.a libssl.dll.a libcrypto.dll.a 这四个文件和相应的dll文件,
    不过编译期间不需要dll文件,也不需要上述四个*.a文件的前两个,在openssl目录下建立两个文件夹 "out" "outinc"
    把libssl.dll.a libcrypto.dll.a拷贝到out文件夹里,重命名为"libssl32.a" "libeay32.a"
    把openssl下的include文件夹里的openssl文件夹拷贝进outinc里
     
    2第二步 (在msys中执行)
    编译zLib
    输入指令
    cp win32/makefile.gcc makefile.gcc
    mingw32-make -f makefile.gcc
     
    3第三步(修改编译配置文件,即我要交叉编译指定其它库的路径)
    进入curl的lib文件夹找makefile.m32用notepad++打开,当然用其它打开也行,不过不推荐windows自带的notepad
     
    找到 OPENSSL_PATH = ../../openssl-xxxxxxx
     ZLIB_PATH = ../../zlib-xxxxxxx
    修改为你实际的文件夹名
    比如我的
     OPENSSL_PATH = ../../openssl-1.0.0g
     ZLIB_PATH = ../../zlib-1.2.5
     
    4.第四步 (在msys环境下)
    交叉编译libcurl
    mingw32-make mingw32-ssl-zlib
    生成libcurl.a libcurldll.a libcurl.dll
    把libcurl.a删掉(我觉得不需要),用libcurldll.a替换掉它,改名为libcurl.a
     
     
    5.整理
     把openssl/out里的*.a文件 第四步的那个*.a文件取出来.zlib里的*.a文件取出来放到一个lib文件夹里(自己建)
     把libz.dll libeay.dll libssl.dll libcurl.dll取出来放到bin目录里,自己建
     把openssl头文件,libcurl头文件取出,放到include里(自己建,zlib好像也有)
     
    http://bhlzlx.blog.51cto.com/3389283/935370
  • 相关阅读:
    颜色混合openglglBlendFunc函数
    Types of Maps
    ogre 检测显卡gpu支持参数
    (转载)lua和c/c++互相调用实例分析
    光照模型
    阴影(转载)
    eval()解析JSON
    android中The connection to adb is down,问题和解决 AndroidEclipseAntXML
    比较android中的像素单位dp、px、pt、sp
    区别:DOM Core 与 HTMLDOM
  • 原文地址:https://www.cnblogs.com/findumars/p/6360826.html
Copyright © 2011-2022 走看看