如果已经有了几个源文件是c++的,不想建立一个sln 想为跨平台写编译,在vs2019里面就简单了,直接右键打开文件夹,在目录下面建立一个CMakeLists文件,写入以下内容,下面是个简单的模板。
cmake_minimum_required(VERSION 3.0)
project(rtsptofmp4 VERSION 1.2.9)
# For CMake >= 3.1.
set(CMAKE_CXX_STANDARD 11)
#set(CMAKE_CXX_STANDARD_REQUIRED ON)
#set(CMAKE_CXX_EXTENSIONS OFF)
#For CMake < 3.1.
#add_compile_options(-std=c++11)
#message("it is "${SOURCE_DIR})
include_directories(./include ./include/ffmpeg G:/boost_1_78_0)
set(
SOURCE_FILES
Rtsp.cpp
Web.cpp
main.cpp
)
set(
HEADER_FILES
Rtsp.h
Web.h
)
link_directories(G:/boost_1_78_0/lib64-msvc-14.2 ./lib)
add_executable(rtsptofmp4 ${SOURCE_FILES} ${HEADER_FILES})
target_link_libraries(avcodec avfilter avformat avutil postproc swresample)
ok,直接右键点击CMakeLists.txt 生成就好!
add_executable 要在target_link_libraries 之前,否则 目标链接不知道要链接到哪个应用程序里面