Ошибка сегментации в AVIFileInit()
В настоящее время я использую Code::Blocks с компилятором GCC на XP. Вызов 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 ответ
Что ж, я наконец-то решил эту проблему, поэтому для всех, кто сталкивался с подобной проблемой, я решил опубликовать свой ответ:
Опустите ".lib" из имени файла в настройках компоновщика. (В этом случае напишите "VFW32", а не "VFW32.LIB".)
Таким образом, он не будет жаловаться, что не может найти файл, поэтому вам не придется тратить много времени на его поиск в папке установки, прежде чем сдаться и, в конце концов, связаться с другой версией библиотеки, которая не не приходят с этим компилятором и на самом деле не совместимы.