zoukankan      html  css  js  c++  java
  • CMake 常用操作有哪些?

    一个简单使用 cmake 构建使用 ffmpeg 库的工程。

    #设置 camke 最小版本
    cmake_minimum_required(VERSION 3.15)
    
    #设置工程名称
    project(ffmpeg)
    
    #设置 C++14 标准
    set(CMAKE_CXX_STANDARD 14)
    
    #设置 include 搜索目录 相当于 -I
    include_directories(${PROJECT_SOURCE_DIR}/3rdparty/ffmpeg-4.3-win32-dev/include)
    
    #设置 library 搜索目录 相当于 -L
    link_directories(${PROJECT_SOURCE_DIR}/3rdparty/ffmpeg-4.3-win32-dev/lib)
    
    #link_libraries 常用来链接静态库 当然也可以用来链接导入符号库 值得注意的是在 add_executable 命令之前写入
    #link_libraries(
    #        avcodec.lib
    #        avdevice.lib
    #        avfilter.lib
    #        avformat.lib
    #        avutil.lib
    #        postproc.lib
    #        swresample.lib
    #        swscale.lib)
    #
    
    # 添加源文件和头文件
    add_executable(${PROJECT_NAME} main.cpp Multimedia.cpp Multimedia.h)
    
    # 复制文件
    file(GLOB RUN_TIME_BIN "${PROJECT_SOURCE_DIR}/3rdparty/ffmpeg-4.3-win32-shared/bin/*.dll")
    file(COPY ${RUN_TIME_BIN} DESTINATION ${PROJECT_BINARY_DIR})
    
    # target_link_libraries 常用来链接动态库 值得注意的是在 add_executable 之后写入。
    target_link_libraries(${PROJECT_NAME}
            avcodec.lib
            avdevice.lib
            avfilter.lib
            avformat.lib
            avutil.lib
            postproc.lib
            swresample.lib
            swscale.lib)
    
  • 相关阅读:
    Luogu P2495 [SDOI2011]消耗战
    40. Combination Sum II
    39. Combination Sum
    22. Generate Parentheses
    51. N-Queens
    Codeforces Round #346 (Div. 2) E. New Reform
    Codeforces Round #346 (Div. 2) D. Bicycle Race
    HDU 5651xiaoxin juju needs help
    VK Cup 2016
    Educational Codeforces Round 10 D. Nested Segments
  • 原文地址:https://www.cnblogs.com/cheungxiongwei/p/13463475.html
Copyright © 2011-2022 走看看