Botan在visual studio 2010下无法正常运行

pullus_1st 2011-07-23 11:20:41
第一次发帖向各位有心人进行求助。因为项目需要对一些数据进行加密解密所以就选择了Botan这个包含加解密算法库。去官方网站下载Botan源码,对其进行编译生成 头文件,botan.lib,botan.dll文件,将其进行导入测试,问题随之出现

测试代码只有以下一句话

Botan::LibraryInitializer init;//库的初始化操作,库中的操作依赖该对象的生命周期

当程序执行到此处的时候,会发生中断
提示信息
“botan32.exe 中的 0x770115ee 处有未经处理的异常: 0xC0000005: 读取位置 0x001e0000 时发生访问冲突”

跟踪进去进入函数
void * __cdecl _malloc_base (size_t size)
{
void *res = NULL;

// validate size
if (size <= _HEAP_MAXREQ) {
for (;;) {

// allocate memory block
res = _heap_alloc(size); //此处发生中断

// if successful allocation, return pointer to memory
// if new handling turned off altogether, return NULL

if (res != NULL)
{
break;
}
if (_newmode == 0)
{
errno = ENOMEM;
break;
}

// call installed new handler
if (!_callnewh(size))
break;

// new handler was successful -- try to allocate again
}
} else {
_callnewh(size);
errno = ENOMEM;
return NULL;
}

RTCCALLBACK(_RTC_Allocate_hook, (res, size, 0));
if (res == NULL)
{
errno = ENOMEM;
}
return res;
}
或者
void __cdecl _free_base (void * pBlock)
{

int retval = 0;


if (pBlock == NULL)
return;

RTCCALLBACK(_RTC_Free_hook, (pBlock, 0));

retval = HeapFree(_crtheap, 0, pBlock); //此处发生中断
if (retval == 0)
{
errno = _get_errno_from_oserr(GetLastError());
}
}


运行环境是WIN 7 64位,visual studio 2010,本人换过好几个botan的版本包括32位,64位的都出现类似的问题,望有心人能够帮助我进行问题的解决,或者是提供一套能够运行Boton的环境,不胜感激!
...全文
448 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zippple 2012-09-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

该问题导致的原因已经找到,跟踪进入botan 编译配置脚本发现有
build_group.add_option('--enable-debug', dest='debug_build',
action='store_true', default=False,
help='en……
[/Quote]
急急急, 编译配置脚本是在哪里。我也出现了这个问题,不知道怎么解决呢。
Ray2312 2012-04-19
  • 打赏
  • 举报
回复
其实我很想找一个编译运行的指导说明。。。还有,如果只需要用到部分的话,是否也要包含整个dll?
pullus_1st 2011-07-24
  • 打赏
  • 举报
回复
没试过VC6,不过编译都是成功的,问题出现在了运行的时候。
伊吹萃香 2011-07-24
  • 打赏
  • 举报
回复
没用过。如果用VC6可以编译?
pullus_1st 2011-07-24
  • 打赏
  • 举报
回复
没人留意吗。。。
pullus_1st 2011-07-24
  • 打赏
  • 举报
回复
在顶一下!
pullus_1st 2011-07-24
  • 打赏
  • 举报
回复
该问题导致的原因已经找到,跟踪进入botan 编译配置脚本发现有
build_group.add_option('--enable-debug', dest='debug_build',
action='store_true', default=False,
help='enable debug build')
而问题导致的原因就是我在进行编译配置的时候没有指定--enable-debug,而默认的配置是--disable-debug,编译出来的库是release版本,而我进行测试的时候工程一直是debug版本导致出现了问题,希望能给遇到同样问题的同学提供一点帮助。

64,690

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧