Я хочу использовать библиотеки ffmpeg в своей программе. Это libavformat и libavcodec. Чтобы связать их, я пытаюсь использовать pkg-config.
Я не могу заставить pkg-config найти эти библиотеки.
Когда я запускаю
pkg-config --modversion libavcodec
Я понимаю
Can't find libavcodec.pc in any of C:/Strawberry/c/lib/pkgconfig
Это должно означать, что у меня не установлен ffmpeg.
Однако я установил ffmpeg.
Я Я использую Windows, поэтому установил ffmpeg с помощью менеджера пакетов Chocolatey. Кажется, это дало мне только программу ffmpeg, а не ее библиотеки.
В MacOS простое использование homebrew для установки ffmpeg устанавливает все нужные файлы.
Есть ли разница в Windows? Как я могу получить пакет разработки?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:
Я компилирую это, используя CMake-js в качестве дополнения к узлу. Это мой файл CMakeLists.txt:
cmake_minimum_required(VERSION 3.9)
project(FFMpeg)
find_package(PkgConfig REQUIRED)
pkg_check_modules(AVCODEC REQUIRED IMPORTED_TARGET libavcodec)
pkg_check_modules(AVFILTER REQUIRED IMPORTED_TARGET libavformat)
pkg_check_modules(AVDEVICE REQUIRED IMPORTED_TARGET libavdevice)
pkg_check_modules(AVUTIL REQUIRED IMPORTED_TARGET libavutil)
pkg_check_modules(SWRESAMPLE REQUIRED IMPORTED_TARGET libswresample)
pkg_check_modules(SWSCALE REQUIRED IMPORTED_TARGET libswscale)
add_library(FFMpeg INTERFACE IMPORTED GLOBAL)
target_include_directories(
FFmpeg INTERFACE
${AVCODEC_INCLUDE_DIRS}
${AVFILTER_INCLUDE_DIRS}
${AVDEVICE_INCLUDE_DIRS}
${AVUTIL_INCLUDE_DIRS}
${SWRESAMPLE_INCLUDE_DIRS}
${SWSCALE_INCLUDE_DIRS}
)
target_link_options(
FFmpeg INTERFACE
${AVCODEC_LDFLAGS}
${AVFILTER_LDFLAGS}
${AVDEVICE_LDFLAGS}
${AVUTIL_LDFLAGS}
${SWRESAMPLE_LDFLAGS}
${SWSCALE_LDFLAGS}
Я также нашел это в выводе, что может объяснить, почему pkg-config ищет в C:\Strawberry?
-- Found PkgConfig: C:/Strawberry/perl/bin/pkg-config.bat (found version "0.26")
-- Checking for module 'libavcodec'
-- Can't find libavcodec.pc in any of C:/Strawberry/c/lib/pkgconfig
Подробнее здесь: https://stackoverflow.com/questions/777 ... an-find-it
Как мне установить FFmpeg, чтобы pkg-config мог его найти? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ошибка установки libvirt-python в Rocky Linux 9: pkg-config не может найти libvirt
Anonymous » » в форуме Linux - 0 Ответы
- 88 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Pkg-config не может найти адекватную зависимость gobject-introspection-1.0 от Ubuntu 24.04
Anonymous » » в форуме Linux - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-