AVIFileInit()中的分段错误

时间:2016-04-21 23:00:17

标签: c++ gcc codeblocks avi vfw

我目前在XP上使用Code :: Blocks和GCC Compiler。以下测试代码中对AVIFileInit()的调用会导致分段错误:

#include <windows.h>
#include <stdio.h>
#include <vfw.h>

int main() {
   printf("%s", "AVI Init...\n\n");

   AVIFileInit(); /// <-- Crashes here!!!

   printf("%s", "AVI Exit...\n\n");

   AVIFileExit();

   printf("%s", "return...\n\n");

   return 0;
}

我找不到任何原因或解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

好吧,我终于解决了这个问题,所以对于其他有类似问题的人,我以为我会发布我的回答:

从链接器设置中的文件名中省略“.lib”。 (在这种情况下,写“VFW32”,而不是“VFW32.LIB”。)

这样,它就不会抱怨它无法找到该文件,因此在放弃并最终链接到另一个版本之前,您不必浪费大量时间在安装文件夹中查找它。这个编译器没有附带的库,实际上并不兼容。