0

我正在使用 Visual Studio 2010 编写 Qt 应用程序。我的应用程序“Review.exe”链接到QtAV.dll使用QtAV.lib. 反过来,QtAV 链接到 ffmpeg、portaudio、gdiplus 等。

调试版本正常工作。

当我尝试运行发布版本时,我得到:过程入口点GdipAlloc无法位于动态链接库avcodec-54.dll中。

GdipAlloc是 的一部分Gdiplus。为什么为函数搜索错误的 dll?这只发生在发布版本中。

如果我QtAV.dll用 的调试版本替换 的发布QtAV.dll版本,Review 的发布版本将加载 的调试版本QtAV.dll

在发布版本上设置链接器标志/DEBUG会导致问题消失。但是我想找出原因和适当的解决方案。

4

1 回答 1

0

我发现它确实发生在 vs2010 上。vs2012 工作正常。我再次用vs2010编译portaudio(使用cmake很容易),用vs2010工具生成FFmpeg .lib文件,然后再次编译QtAV,这个错误消失了!我已经上传了新的开发文件来构建 QtAV。在此处下载 FFmpeg-2.0.1_mingw32+msvc.7z 和 portaudio-v19_msvc2010x86_20130813.7z:https ://sourceforge.net/projects/qtav/files/depends

:)

于 2013-08-12T17:06:05.113 回答