cmake调用third_party库

本文介绍如何使用 CMake 构建系统来调用 Qt、SDL2、FFmpeg 和 OpenCV 库。包括配置环境、设置依赖路径及链接库的方法。适合初学者学习并快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cmake Call third-party Lib

[Cmake] https://cmake.org/cmake/help/v3.8/manual/cmake-buildsystem.7.html

[Qt官方手册] http://doc.qt.io/qt-5/cmake-manual.html

Cmake 中调用Qt库

  cmake_minimum_required(VERSION 3.8.2)
  project(demo)

  set(CMAKE_CXX_STANDARD 11)

  # Find includes in corresponding build directories
  set(CMAKE_INCLUDE_CURRENT_DIR ON)

  # Instruct CMake to run moc automatically when needed.
  set(CMAKE_AUTOMOC ON)

  include_directories(include /home/hhit/lib/ffmpeg-release/include)

  link_directories(lib /home/hhit/lib/ffmpeg-release/lib)

  # Find the QtWidgets library
  find_package(Qt5Widgets)

  # Tell CMake to create the helloworld executable
  add_executable(demo hhvideoalarm.cpp  hhvideostream.cpp  hhvideowidget.cpp  main.cpp  widget.cpp)

  # Use the Widgets module from Qt 5.
  target_link_libraries(demo Qt5::Widgets hhclient avcodec avformat swscale avdevice avfilter avutil swresample)

Cmake 中调用SDL2

INCLUDE_DIRECTORIES(/Library/Frameworks/SDL2.framework/Headers/
        /Library/Frameworks/SDL2_image.framework/Headers/)
.......
TARGET_LINK_LIBRARIES(untitled5 ${SDL2_LIBRARIES} ${SDL2IMAGE_LIBRARY})

Cmake中调用ffmpeg

INCLUDE_DIRECTORIES(/usr/local/Cellar/ffmpeg/3.3.2/include)
link_directories(/usr/local/Cellar/ffmpeg/3.3.2/lib)
LINK_LIBRARIES(
        libavcodec.a    libavfilter.a   libavresample.a libpostproc.a   libswscale.a
        libavdevice.a   libavformat.a   libavutil.a     libswresample.a
)

Cmake中调用opencv3

安装opencv

编译环境安装:
sudo apt-get install build-essential

必需包安装:
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

可选包安装:
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

编译
cmake  -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-3.1.0  -D BUILD_TIFF=ON -D WITH_FFMPEG=ON  ..
make

调用

set(OpenCV_DIR /usr/local/Cellar/opencv3/3.2.0/share/OpenCV)
find_package( OpenCV REQUIRED )
......
target_link_libraries( untitled5 ${OpenCV_LIBS})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值