初学Cmake

来源:互联网 发布:php header跳转404 编辑:程序博客网 时间:2024/06/01 07:29

参考http://blog.sina.com.cn/s/blog_602f87700102vdji.html

http://blog.csdn.net/fengbingchun/article/details/46685413

1.对test目录下的main.cpp,v4l2_util.cpp tran_data.cpp在同一文件,用cmake创建Makefile文件:

|-test

|-main.cpp

|-v4l2_util.cpp

|-tran_data.cpp

1.在test目录下创建CMakeLists.txt文件,文件内容为

cmake_minimum_required (VERSION 2.6)#说明当cmake低于此版本时报错


project (123) #说明项目名称,对所有此项目下的文件此内容不变

set (LIB_SRC_LIST  v4l2_util.cpp tran_data.cpp)#设置库文件列表(这里只是变量赋值)

set (EXEC_SRC_LIST main.cpp)#设置执行文件(变量赋值)


add_library(V4L2_Utils STATIC  ${LIB_SRC_LIST})#添加静态库文件列表

add_executable(Test_V4L2 ${EXEC_SRC_LIST})#添加执行文件列表(即由那些.o文件组成)

 

target_link_libraries(Test_V4L2 V4L2_Utils)#将可执行程序Test_V4L2链接到库V4L2_Utils

2.在test目录下建立build目录,在build目录中cmake ..,然后make,就生成了可执行文件

2.对不在一个目录下的文件

如:

|-src

|-main.cpp

|-v4l2_util.cpp

|-include

|-v4l2_util.h

1.

cmake_minimum_required (VERSION 2.6)


project (123)

set (LIB_SRC_LIST  v4l2_util.cpp)——|

set (EXEC_SRC_LIST main.cpp)——|-------设置变量

set (INCLUDE_DIRECTORIES ../include)——|


include_directories(${INCLUDE_DIRECTORIES})#添加头文件目录,这样main.cpp才能找到头文件


add_library(V4L2_Utils SHARED  ${LIB_SRC_LIST})#这里是链接成动态库

add_executable(Test_V4L2 ${EXEC_SRC_LIST})

target_link_libraries(Test_V4L2 V4L2_Utils)

3.添加第三方库

|-resource

|-libV4L2.so#第三方库

|-include

|-v4l2_util.h

|-src

|-main.cpp

cmake_minimum_required (VERSION 2.6)


project (123)

set (EXEC_SRC_LIST main.cpp)

set (INCLUDE_DIRECTORIES ../include)

set (LINK_DIR /home/liuyu/...)#注意找第三方库的路径必须是绝对路径,


include_directories(${INCLUDE_DIRECTORIES})#添加头文件查找目录

link_directories(${LINK_DIR})#添加连接器查找库路径


add_executable(Test_V4L2 ${EXEC_SRC_LIST})

target_link_libraries(Test_V4L2 V4L2_Utils)

0 0
原创粉丝点击