windowX64 vs2012环境下静态链接编译32位libcurl 支持openssl

0 篇文章 0 订阅

编译整整花了我一个周末,快要疯了,不是libcurl版本和openssl版本不兼容,就是一系列配置问题,各种报错,终于编译通过了,特别记录下来,防止 以后忘记了!可怜


环境信息:

操作系统:windows10 64位

VS版本:2012

libcurl版本:7.29.0

openssl版本:1.0.1u

编译结果:libcurl x86 支持openssl的静态链接库,openssl也是静态链接库,msvcrt运行时也是静态链接,都是release模式


一、编译openssl 

        0、安装nasm汇编编译器

1、先安装perl for window安装包(编译脚本perl语言写的)

2、打开VS2012 X86命令行工具,执行命令ppm install dmake   安装dmake

3、进入openssl源代码要目录

4、执行命令perl Configure VC-WIN32

5、执行命令ms\do_ms

6、执行命令nmake -f ms\nt.mak

7、编译完成(*.lib文件在out32目录下,头文件在inc32目录下)

二、编译libcurl

    |_libcurl
    .......|_winbuild
    |
    |_deps
      .....|_ lib
      .....|_ include
      .....|_ bin
  

1、将目录结构建立成上面的样式!!!非常重要!!!

2、将openssl/out32目录下的*.lib文件都复制到deps/lib目录下

3、将openssl/inc32/openssl目录下的所有文件都复制到deps/include/openssl目录下

4、打开VS2012 X86命令行工具

5、进入libcurl/winbuild目录

6、执行命令nmake /f makefile.vc mode=static WITH_SSL=static RTLIBCFG=static  DEBUG=no ENABLE_SSPI=no

7、编译完成(编译结果在libcurl\builds\libcurl-vc-x86-release-static-ssl-static-ipv6-spnego目录下)


 备注:当libcurl_a.lib引用项目中一起编译的时候出现"libcurl_a.lib模块对于SAFESEH 映像是不安全的"的错误,去项目属性-》配置属性-》链接器-》命令行:在【其他选项】中输入/SAFESEH:NO 即可解决,至于为什么,我也不是很了解,有大神知道的,还望留言! 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VirtualBox是一款虚拟机软件,它允许我们在主机操作系统上创建虚拟机并在其中运行另一个操作系统。有时候,我们可能会遇到VirtualBox虚拟机无法和主机之间进行拖拽操作的问题。下面是几个可能导致这个问题的原因以及相应的解决办法: 1. 集成性工具未安装:VirtualBox提供了一个名为“增强功能”(Guest Additions)的集成性工具,它可以增强虚拟机和主机之间的交互性能和功能。如果未安装或未更新这个工具,拖拽功能可能会无效。解决方法是在虚拟机中安装或更新集成性工具。 2. 拖拽功能未启用:有时候,虚拟机的拖拽功能可能会被禁用。在VirtualBox的虚拟机设置中,确保已启用“拖拽和剪贴板”选项。如果设置正确但仍无效,请尝试禁用并重新启用这个选项。 3. 安全软件阻止拖拽:有些安全软件(如杀毒软件或防火墙)可能会发现虚拟机的拖拽操作具有潜在的风险,并阻止此功能。请确保你的安全软件允许虚拟机进行拖拽操作或将其加入白名单。 4. 剪贴板共享未启用:拖拽功能通常与剪贴板共享一同启用。在VirtualBox虚拟机设置的“高级”选项中,确保已启用剪贴板共享功能。 5. 操作系统不兼容:在某些情况下,某些操作系统可能不支持虚拟机和主机之间的拖拽功能。请检查主机和虚拟机操作系统的兼容性,并确保所使用的操作系统支持此功能。 总结起来,VirtualBox虚拟机无法与主机之间进行拖拽操作可能是由于集成性工具未安装、拖拽功能未启用、安全软件阻止拖拽、剪贴板共享未启用或操作系统不兼容等原因所致。解决这个问题的方法是在虚拟机中安装或更新集成性工具、启用拖拽和剪贴板选项、检查安全软件设置、启用剪贴板共享功能以及确保操作系统的兼容性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值