понял через find_package, поэтому добавляю следующим образом (сори за пути? пока тестово добавляю что бы разобраться с cmake):
target_link_libraries(VideoSeparate PRIVATE Qt${QT_VERSION_MAJOR}::Widgets
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avdevice.lib"
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avfilter.lib"
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avformat.lib"
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avcodec.lib"
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/swresample.lib"
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/swscale.lib"
"E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avutil.lib"
)
target_include_directories(VideoSeparate PRIVATE "E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/include")
В .h добавляю инклуды:
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
В .cpp такой метод, если закоментировать строку в методе, то все норм, а так ошибка:
int VideoEditor::open_input_media_file(AVFormatContext** format_context, const char* input_file)
{
//Выделяем память
*format_context = avformat_alloc_context();
}
Ошибка(и подобных 10000+):
:-1: error: E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avformat.lib(libavformat/fifo.o):(.text$mn+0x15): undefined reference to `__security_cookie'
E:/Users/avdeev_ia/Documents/VideoSeparate/addin-video-separate/VideoSeparate/ffmpeg/lib/avdevice.lib" зачем тебе find_package(ffmpeg) если ты им не пользуешься всё равно?
Да это он просто для тестов прописал )
ну и получил ошибку линковки, удобно
Тест не прошёл...
Насколько понял из инфы в инете find_package() для ffmpeg не работает
А ты читал документацию по ffmpeg по сборке и подключению?
Нет, вот сейчас займусь видимо
Это надо было сделать первым делом
Я то через vcpkg устанавливал, поэтому для ffmpeg не читал
Обсуждают сегодня