Runtime error when linking ffmpeg libraries in qt creator



  • Hello, I'm new around here and around qt development.

    For the last few days I've been fiddling around with opengl and the like, trying to write a video player.

    However, when i try to import the ffmpeg libraries (avcodec, avformat, avutils etc), an error occurs on runtime (the program compiles fine). When compiled and run in debug mode, the error message gives me only a memory address and error code 135 (DLL not found).

    This error occurs when i include a function from those libraries in my code (e.g. av_register_all()) and it occurs regardless of whether the function is actually called.

    So i'm thinking that I'm doing something wrong when linking these libraries.
    I'm currently using:
    Windows vista (32bit),
    Qt creator 2.4.1 based on Qt 4.7.4 (32bit),
    Zeranoe's FFmpeg build git-3233ad4 (2012-06-30)

    My .pro file consists of:
    @QT += core gui opengl

    TARGET = test
    TEMPLATE = app

    SOURCES += main.cpp
    mainwindow.cpp
    glwidget.cpp

    HEADERS += mainwindow.h
    glwidget.h \

    FORMS += mainwindow.ui

    LIBS += -L"$$PRO_FILE_PWD/libraries/ffmpeg/libs/" -lavcodec -lavformat -lavutil
    INCLUDEPATH += libraries/ffmpeg/includes
    @
    I've tried many variations to the LIBS += line and checked my filepath many times. However, the DLL not found error occurs in all of these variations =(.

    Is there something I'm forgetting when doing these includes?

    Thanks in advance >.<,
    (young and naive) aspiring dev



  • On Windows, a DLL must be accessible at runtime. Either by putting it into some system directory or some other folder that is in PATH, or by putting it into the same directory where the .exe is. Did you do that?



  • Another reason of this issue could be a dependencies from ffmpeg. Try check dependencies of dlls by Dependency Walker.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.