CMake
最近被CMake折磨得不成人样。网上教材一堆,复制到自己这里,就是没效果。现整理一下,方便自己以后查阅。
红色的表示要替换成自己的环境。
2024-02-07
add_executable
target_link_libraries
先add_executable,再写target_link_libraries,如果顺序错了,必失败。
先上一个亲测有效的例子:自己的写的man.c链接第三方动态库so
cmake_minimum_required(VERSION 3.22.1)
project("myapplication")
add_executable(${PROJECT_NAME} main.c)
target_link_libraries(${PROJECT_NAME}
/root/cmake/so/libavutil.so
/root/cmake/so/libswresample.so
/root/cmake/so/libavcodec.so)
因为so之间存在依赖关系,所以直接引用了3个so
显示变量的方式: message(STATUS "MY_VARIABLE: ${PROJECT_NAME}")
设置变量的方式: set(so_path "/root/cmake/so")
高级一点的写法:(减少代码简单复制)
set(so_path "/root/cmake/so") find_library(avutil avutil ${so_path}) find_library(swresample swresample ${so_path}) find_library(avcodec avcodec ${so_path} target_link_libraries(${PROJECT_NAME} avutil swresample avcodec )
相应的so文件放在/root/cmake/so下面,根据自己实际情况改path
posted on 2024-02-07 16:13 angelshelter 阅读(7) 评论(0) 编辑 收藏 举报