Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Jeka от Декабрь 11, 2014, 20:33



Название: Подключение библиотеки FFMPEG
Отправлено: Jeka от Декабрь 11, 2014, 20:33
Здравствуйте.

Пытаюсь подключить библиотеку FFMPEG, в .pro добавил через мастер следующие библиотеки
Код:
win32: LIBS += -L$$PWD/../lib/ffmpeg/lib/ -lswscale

INCLUDEPATH += $$PWD/../lib/ffmpeg/include
DEPENDPATH += $$PWD/../lib/ffmpeg/include

win32: LIBS += -L$$PWD/../lib/ffmpeg/lib/ -lavcodec

INCLUDEPATH += $$PWD/../lib/ffmpeg/include
DEPENDPATH += $$PWD/../lib/ffmpeg/include

win32: LIBS += -L$$PWD/../lib/ffmpeg/lib/ -lavformat

INCLUDEPATH += $$PWD/../lib/ffmpeg/include
DEPENDPATH += $$PWD/../lib/ffmpeg/include

win32: LIBS += -L$$PWD/../lib/ffmpeg/lib/ -lavutil

INCLUDEPATH += $$PWD/../lib/ffmpeg/include
DEPENDPATH += $$PWD/../lib/ffmpeg/include

Вот файл исходника

Код:

#include "mainwindow.h"
#include "ui_mainwindow.h"

extern "C"
{
    #define __STDC_CONSTANT_MACROS
    #include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    #include "libavutil/mathematics.h"
    #include "libavutil/pixfmt.h"
    #include "libswscale/swscale.h"
}


MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_buttonSetVideoFile_clicked()
{

}

void MainWindow::on_buttonInitialize_clicked()
{
    avcodec_register_all();
}


Программа компилится и после запуска сразу завершается. В выводе приложения "Программа неожиданно завершилась". В консоли сборки никаких ошибок.

Если закомментировать строчку с   "  avcodec_register_all();  " то запускается нормально.


Название: Re: Подключение библиотеки FFMPEG
Отправлено: Jeka от Декабрь 12, 2014, 13:48
Решил проблему. Оказалось что я пытался динамически подключить статические библиотеки. Файлы .lib - статические библиотеки. А нужны были файлы .dll - динамические.


Название: Re: Подключение библиотеки FFMPEG
Отправлено: deMax от Ноябрь 15, 2016, 17:15
А можно в qt подключить статические либы ffmpeg? И как это сделать под виндой.