使用sophon-mw开发 ------------------ 在安装完sophon-mw后,用户可以用两种方式将sophon-mw的库链接到自己的编译程序中。 ** 如果使用Make编译系统 ** 推荐用户使用pkgconfig来寻找sophon-mw库。 在之前的安装中,我们已经将sophon-mw的pkgconfig路径加入到环境变量PKG_CONFIG_PATH。因此,用户可以在Makefile中添加如下语句: .. parsed-literal:: CFLAGS = -std=c++11 # add libsophon dependency because sophon-ffmpeg rely on it CFLAGS += -I/opt/sophon/libsophon-current/include/ LDFLAGS += -L/opt/sophon/libsophon-current/lib -lbmcv -lbmlib -lbmvideo -lbmvpuapi -lbmvpulite -lbmjpuapi -lbmjpulite -lbmion # add sophon-ffmpeg CFLAGS += $(shell pkg-config --cflags libavcodec libavformat libavfilter libavutil libswscale) LDFLAGS += $(shell pkg-config --libs libavcodec libavformat libavfilter libavutil libswscale) # add sophon-opencv CFLAGS += $(shell pkg-config --cflags opencv4) LDFLAGS += $(shell pkg-config --libs opencv4) 然后就可以在Makefile中使用sophon-ffmpeg和sophon-opencv的库。 注意:当系统在/usr/lib或者/usr/local/lib下还安装了另一份ffmpeg或者opencv的时候,要注意检查下,是否搜索到了正确的sophon-ffmpeg/sophon-opencv路径。 如果搜索不正确,则需要显式地指定头文件位置和库文件位置 ** 如果使用CMake编译系统 ** 用户可以在CMakeLists.txt中添加如下语句: .. parsed-literal:: # add libsophon find_package(libsophon REQUIRED) include_directories(${LIBSOPHON_INCLUDE_DIRS}) link_directories(${LIBSOPHON_LIB_DIRS}) # add sophon-ffmpeg set(FFMPEG_DIR /opt/sophon/sophon-ffmpeg-latest/lib/cmake) find_package(FFMPEG REQUIRED NO_DEFAULT_PATH) include_directories(${FFMPEG_INCLUDE_DIRS}) link_directories(${FFMPEG_LIB_DIRS}) # add sophon-opencv set(OpenCV_DIR /opt/sophon/sophon-opencv-latest/lib/cmake/opencv4) find_package(OpenCV REQUIRED NO_DEFAULT_PATH) include_directories(${OpenCV_INCLUDE_DIRS}) add_executable(${YOUR_TARGET_NAME} ${YOUR_SOURCE_FILES}) target_link_libraries(${YOUR_TARGET_NAME} ${FFMPEG_LIBS} ${OpenCV_LIBS}) 在用户的代码中即可以调用sophon-ffmpeg和sophon-opencv中的函数: .. parsed-literal:: #include int main(int argc, char const *argv[]) { cv::Mat img = cv::imread(argv[1]); return 0; }