Botan在visual studio 2010下无法正常运行
第一次发帖向各位有心人进行求助。因为项目需要对一些数据进行加密解密所以就选择了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的环境,不胜感激!
测试代码只有以下一句话
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的环境,不胜感激!
...全文
相关推荐
Botan库 已经在windows下编译好的32位Botan-2.10.0
在Windows环境下编译Botan可能涉及到Visual C++(VC)编译器,因为“vc”标签暗示了这是与Visual Studio相关的。
Windows Botan2.8 编译包
- 在链接阶段,确保正确引用了Botan的库文件。6. **DLL问题**: - 如果你的应用程序依赖于Botan的动态库(dll),必须确保运行时环境中有对应的dll文件,否则程序将无法正常运行。
QSSH.7z(保证能编译msvc2013)
综上所述,QSSH是一个使用Qt库和Botan加密库构建的C++ SSH/SFTP客户端项目,专为在Microsoft Visual Studio 2013环境下编译而设计。
C.Advanced.module.digital.encryption.code.rar_加密解密_Visual_C++_
开发者可以利用Visual Studio的调试工具和性能分析器优化代码。7.
C++ aes加解密算法 Visual2008
本项目中使用的可能是Crypto++库,因为它是一个纯C++的加密库,且支持Visual Studio 2008。1.


