我目前在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;
}
我找不到任何原因或解决方案。任何帮助将不胜感激。
答案 0 :(得分:0)
好吧,我终于解决了这个问题,所以对于其他有类似问题的人,我以为我会发布我的回答:
从链接器设置中的文件名中省略“.lib”。 (在这种情况下,写“VFW32”,而不是“VFW32.LIB”。)
这样,它就不会抱怨它无法找到该文件,因此在放弃并最终链接到另一个版本之前,您不必浪费大量时间在安装文件夹中查找它。这个编译器没有附带的库,实际上并不兼容。