编写CMakeLists.txt

1.cmake verson,指定cmake版本 
 cmake_minimum_required(VERSION 3.2)
2.project name,指定项目的名称,一般和项目的文件夹名称对应

PROJECT(server_project)  

3.  MESSAGE(STATUS "Project: SERVER")               #打印相关消息消息

4.set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 指定编译类型

4.include_directiories

比如说,我们需要一个第三方库 curl,那么我们的 CMakeLists.txt 需要指定头文件目录,和库文件,类似:

include_directiories(/usr/include/curl)
target_link_libraries(myprogram path/curl.so)

如果借助于cmake提供的finder:

find_package(CURL REQUIRED)
include_directories(${CURL_INCLUDE_DIR})
target_link_libraries(curltest ${CURL_LIBRARY})

5.LINK_DIRECTORIES(添加需要链接的库文件目录)

link_directories(directory1 directory2 ...)

6.LINK_LIBRARIES (添加需要链接的库文件路径,注意这里是全路径)

LINK_LIBRARIES("/opt/MATLAB/R2012a/bin/glnxa64/libeng.so" "/opt/MATLAB/R2012a/bin/glnxa64/libmx.so")

7.add_library

将指定的源文件生成链接文件,然后添加到工程中去

file(GLOB trtSrc src/trt/*.cu src/trt/*.cpp)
add_library(libtrt ${trtSrc} )

8.target_link_libraries

该指令的作用为将目标文件与库文件进行链接。该指令的语法如下:

target_link_libraries(<target> [item1] [item2] [...]
                      [[debug|optimized|general] <item>] ...)

上述指令中的<target>是指通过add_executable()和add_library()指令生成已经创建的目标文件。而[item]表示库文件没有后缀的名字。默认情况下,库依赖项是传递的。当这个目标链接到另一个目标时,链接到这个目标的库也会出现在另一个目标的连接线上。这个传递的接口存储在interface_link_libraries的目标属性中,可以通过设置该属性直接重写传递接口。
9.add_executable 编译可执行文件

add_executable(compute_pnp compute.cpp)

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值