zoukankan      html  css  js  c++  java
  • visual studio 2015在win7上执行crypto++的测试

    作为最流行的C++密钥库,crypto++的文档并不友善

    至少我找了一圈,发现最好用的还是其自带的测试

    但是在我的环境,测试并不能正常运行,报异常“无法定位GetOverlappedResultEx于动态链接库kernel32.dll上”。

    查看kernel32.dll,确实不存在GetOverlappedResultEx,而是有GetOverlappedResult——版本问题

    在源代码中查找GetOverlappedResultEx,发现只存在于winpipes.cpp

    #if defined(USE_WINDOWS8_API)
            BOOL result = GetOverlappedResultEx(h, &m_overlapped, &m_lastResult, INFINITE, FALSE);
            CheckAndHandleError("GetOverlappedResultEx", result);
    #else
            BOOL result = GetOverlappedResult(h, &m_overlapped, &m_lastResult, FALSE);
            CheckAndHandleError("GetOverlappedResult", result);
    #endif
    USE_WINDOWS8_API宏也在这个文件
    // Windows 8, Windows Server 2012, and Windows Phone 8.1 need <synchapi.h> and <ioapiset.h>
    #if defined(CRYPTOPP_WIN32_AVAILABLE)
    # if ((WINVER >= 0x0602 /*_WIN32_WINNT_WIN8*/) || (_WIN32_WINNT >= 0x0602 /*_WIN32_WINNT_WIN8*/))
    #  include <synchapi.h>
    #  include <ioapiset.h>
    #  define USE_WINDOWS8_API
    # endif
    #endif

    呵呵

  • 相关阅读:
    jQuery事件篇---高级事件
    Cookie处理
    JDBC技术
    JSP行为
    JSP九大内置对象
    JSP指令学习
    Oracle数据库学习之存储过程--提高程序执行的效率
    数据库操作之游标
    PL/SQL编程接触
    数据库数据的查询----连接查询
  • 原文地址:https://www.cnblogs.com/sqxy110/p/5888800.html
Copyright © 2011-2022 走看看