170 похожих чатов

Я понимаю что это вопрос скорее по системе сборки, но

я так и не нашёл ответа.
не могу на Linux собрать проект с использованием ffmpeg.
скачала отсюда shared библиотеки ссылка положил их рядом с иcходниками.
структура проекта такая:

<root folder>
ffmpeg/
├ include/
├ lib-linux/
├ lib-win/
src
├ CMakeLists.txt
├ main.cpp

я хочу сделать линковку к библиотекам именно из локальной папки а не в системе искать и ставить avcodec-dev avformat-dev и т.д.
Может кто помочь разобраться с этим ?

11 ответов

20 просмотров

Там всё весьма непросто, у ffmpeg очень много зависимостей... Собрать его как-то кастомно будет непросто

Ilya-Khudaev Автор вопроса
Ilya Zviagin
Там всё весьма непросто, у ffmpeg очень много зави...

мне не ffmpeg собрать надо. а приложение своё. с использованием библиотек ffmpeg

Ilya-Khudaev Автор вопроса
Ilya Zviagin
Это всё равно

разве? это же shared версии

Ilya Khudaev
разве? это же shared версии

На винде всё проще, тебе надо указывать только непосредственные зависимости (о проблемах с опосредованными ты узнаешь только в рантайме) На линуксе надо указывать все косвенные зависимости, зависимости зависимостей и так далее.

Ilya-Khudaev Автор вопроса
Ilya Zviagin
На винде всё проще, тебе надо указывать только неп...

если посмотреть на что у него зависимости, то вроде все зависимости на месте: ilya@local:~/testffmpeg$ ldd ./ffmpeg/lib-linux-x64/libavcodec.so linux-vdso.so.1 (0x00007fffabbd0000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fec3880b000) libswresample.so.3 => /lib/x86_64-linux-gnu/libswresample.so.3 (0x00007fec387e9000) libavutil.so.56 => /lib/x86_64-linux-gnu/libavutil.so.56 (0x00007fec386c0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fec3869d000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fec38697000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fec3868d000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fec38499000) /lib64/ld-linux-x86-64.so.2 (0x00007fec3c056000) libsoxr.so.0 => /lib/x86_64-linux-gnu/libsoxr.so.0 (0x00007fec3842e000) libva-drm.so.2 => /lib/x86_64-linux-gnu/libva-drm.so.2 (0x00007fec38429000) libva.so.2 => /lib/x86_64-linux-gnu/libva.so.2 (0x00007fec38400000) libva-x11.so.2 => /lib/x86_64-linux-gnu/libva-x11.so.2 (0x00007fec383f8000) libvdpau.so.1 => /lib/x86_64-linux-gnu/libvdpau.so.1 (0x00007fec383f2000) libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007fec382b3000) libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fec3829d000) libOpenCL.so.1 => /lib/x86_64-linux-gnu/libOpenCL.so.1 (0x00007fec38092000) libgomp.so.1 => /lib/x86_64-linux-gnu/libgomp.so.1 (0x00007fec38050000) libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007fec3803b000) libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007fec38031000) libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fec38007000) libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007fec38001000) libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fec37ff9000) libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007fec37fdf000)

Ilya-Khudaev Автор вопроса
Ilya Zviagin
конкретная проблема в чём?

не могу cmakelist написать чтобы на линуксе он собирался и использовал именно локальные библиотеки а не системные

Ilya Khudaev
не могу cmakelist написать чтобы на линуксе он соб...

Такое тебе надо? add_library(COMBINED_SHADERC STATIC IMPORTED) set_target_properties(COMBINED_SHADERC PROPERTIES IMPORTED_LOCATION_DEBUG $ENV{VULKAN_SDK}/Lib/libshaderc_combined.a) target_link_libraries(compiler COMBINED_SHADERC)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта