环境:
Windows 10 x64
Visual Studio 2008(是的,我知道)
尝试使用gstreamer 1.0构建一个非常简单的x64 C++应用程序。在调试模式下,管道运行得很好(甚至可以将图像写入磁盘),但是在发布模式下,只要调用任何 gstreamer函数就会导致程序崩溃。我已经为发布版本收集了以下证据:
- 在Visual Studio中进行调试显示在“模块”选项卡中没有加载所需的gstreamer / gthread库。
- 通过移动/重命名包含目录(C:/gstreamer/x64_86/bin)来中断到gstreamer / gthread库的路径对发布模式没有影响。如果我在调试模式下尝试这样做,那么应用程序会在运行时抱怨找不到所需的DLL。
- 在发布程序上运行dumpbin /dependents显示依赖于gstreamer / gthread。调试版本也是如此。
- 从命令行而不是VS运行应用程序会产生相同的结果(崩溃)。
我注意到Win10更智能,并且会在运行时警告您缺少多个DLL(而不仅是第一个DLL)。但是我困惑的是为什么它甚至没有加载它们,并且没有警告我它们缺失。我还能用什么来调试这个问题?