Как подключить библиотеку sfeMovie?

107
30 апреля 2021, 23:40

Я хочу подключить библиотеку sfeMovie (для отображения видео) к проекту. Делаю всё по инструкции: http://sfemovie.yalir.org/latest/start.php

Дошёл до пункта Build. После долгой сборки получил следующие файлы:

В папке bin нашёл файлы .lib и .dll

и подключил их к проекту в ручную через свойства проекта. (Я так понимаю эти библиотеки там лежат для воспроизводства тестовой программы, и возможно они не полные. Также есть ещё точно такие же библиотеки в папке FFmpeg-binaries/lib, но в ней нет необходимого .lib файла sfeMovie-d.lib). В итоге при попытке вывода видео, проект запустился, но видео не отобразилось м в консоле вылезли ошибки:

Причём в тексте ошибки почему-то выводится обрезанное название файла, который я хочу открыть (на самом деле должно быть video.avi)

Подскажите в чём проблема?

Вообще в инструкции есть последний пункт (Installation), который я не выполнил, потому что не пойму что в нём нужно сделать.

З.Ы. И ещё. У меня была уже готовая программа, в которой я тестировал запуск видео. Я убрал из неё всё ненужное и оставил только код необходимый для запуска видео. При запуске выскочило исключение:

Код программы:

#include <SFML/Config.hpp>
#include <SFML/Graphics.hpp>
#include <sfeMovie/Movie.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(1280, 840), "SFML works!");
    sfe::Movie movie;
    movie.openFromFile("movie/video.avi");
    movie.fit(200, 0, 450, 800);
    movie.play();
    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }
        movie.update();
        window.clear();
        window.draw(movie);
        window.display();
    }
    system("Pause");
    return 0;
}
Answer 1

Окей, напишу полную инструкцию.

Начнем с загрузки git репозитория.

  1. Установите git (Если не установлен)
  2. Запускаем командную строку от имени администратора.
  3. Клонируем репозиторий SFML git clone https://github.com/SFML/SFML.git && cd SFML

  4. Собираем и устанавливаем SFML:

cmake -E make_directory build && cd build && cmake .. && cmake --build . --config Debug && cmake --build . --config Release && cmake --install . --config Debug && cmake --install . --config Release && cd ..\\..
  1. Клонируем репозиторий sfeMovie: git clone https://github.com/Yalir/sfeMovie.git && cd sfeMovie
  2. Собираем, и устанавливаем:
cmake -E make_directory build && cd build && cmake -DSFML_ROOT="c:/Program Files (x86)/SFML/" .. && cmake --build . --config Debug && cmake --build . --config Release && cmake --install . --config Debug && cmake --install . --config Release && cd ..\\..

Теперь идем по пути C|D|E:\\Program Files (x86)\\SFML, любуемся на установленный SDK

Так же по расположению C|D|E:\\Program Files (x86)\\sfeMovie находится SDK sfeMovie.

READ ALSO
Наследование абстрактного класса

Наследование абстрактного класса

У меня есть некий абстрактный класс, назовем его AbstrУ него есть чисто виртуальная функция, что выводит на экран принятый указатель (разыменовывает...

103
JQuery и одинаковые имена

JQuery и одинаковые имена

У меня есть 6 штук блоков, каждые называются одинаково, только значения в теге <b>12</b> разные

122
Рендеринг HTML-элементов с помощью perspective?

Рендеринг HTML-элементов с помощью perspective?

Цель состоит в том, чтобы визуализировать элементы HTML в перспективе, как в примерах ниже

124
Как выбрать дочерние элементы первого уровня

Как выбрать дочерние элементы первого уровня

Как изменить стили только у li с надписью Категория 1 ур

115