如何解决使用库时运行时检查失败#0
我正在尝试使用Haru PDF库(http://libharu.sourceforge.net/index.html)制作一个小程序。我将其与我的项目静态链接,并具有一些基本的源代码来测试该库是否成功运行。源代码如下。
#include <iostream>
#include "hpdf.h"
void ErrorHandler(HPDF_STATUS errorNo,HPDF_STATUS errorDetail,void* userData)
{
std::cout << "ERROR" << std::endl;
}
int main()
{
HPDF_Doc pdf = HPDF_New(ErrorHandler,nullptr);
if (!pdf)
{
return 1;
}
HPDF_Free(pdf);
return 0;
}
编译程序时出现以下错误:
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
通过一些研究,我发现这可能是由于不同的调用约定所致。但是,我对如何解决此问题一无所知。任何想法将不胜感激。
解决方法
我认为您应该尝试一些致电转化:
void WINAPI ErrorHandler(...)
void __stdcall ErrorHandler(...)
extern "C" {
void ErrorHandler(...)
}
或其他。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。