Я пытаюсь использовать libavformat из ffmpeg в проекте C++. У меня установлен ffmpeg с помощью homebrew.
Мой CMakeLists.txt:
cmake_minimum_required(VERSION 3.14)
project(av_test)
set(CMAKE_CXX_STANDARD 11)
INCLUDE_DIRECTORIES(/usr/local/Cellar/ffmpeg/4.2.1_2/include)
LINK_DIRECTORIES(/usr/local/Cellar/ffmpeg/4.2.1_2/lib)
add_executable(av_test main.cpp)
TARGET_LINK_LIBRARIES(av_test libavformat)
При запуске cmake я получаю эту ошибку:
ld: library not found for -llibavformat
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [av_test] Error 1
make[2]: *** [CMakeFiles/av_test.dir/all] Error 2
make[1]: *** [CMakeFiles/av_test.dir/rule] Error 2
make: *** [av_test] Error 2
Быстрый find libavformat*
в /usr/local/Cellar/ffmpeg/4.2.1_2/lib возвращает:
libavformat.58.29.100.dylib
libavformat.58.dylib
libavformat.a
libavformat.dylib
Также в /usr/local/Cellar/ffmpeg/4.2.1_2/include/libavformat есть avformat.h
Мой main.cpp:
#include <libavformat/avformat.h>
int main() {
AVFormatContext *pFormatContext;
return 0;
}
Я работаю на mac os 10.14 с cmake версии 3.15.5, ffmpeg версии 4.2.1.