1,异常
vcpkg(mingw) 生成的lib dll,在vs 2017如下方式中使用时出现异常
void funca(){
TagLib::FileRef f(strFile.c_str());
TagLib::Tag *mytag = f.tag();
TagLib::AudioProperties *aproperties = f.audioProperties();
}
异常:
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.
解决:用 cmake 生成 vs2017 的 工程文件,用vs2017编译后,不再出现。需要注意的是,如果不勾选BUILD_SHARED_LIBS而默认生成静态库,编译时会出现找不到实现。

本文记录了在使用vcpkg(mingw)生成的libdll时,在VS2017环境下出现的运行时检查失败异常,并提供了通过cmake生成工程文件来解决问题的方法。注意,如果未选择生成共享库,可能会遇到编译错误。
3612

被折叠的 条评论
为什么被折叠?



