ubuntu Cmake使用,项目分路径安装等

2 篇文章 0 订阅

本文档主要记录笔者使用cmake过程中编写CmakeLists.txt内涉及到的指令及其代表含义。

project(fakedu)

cmake_minimum_required(VERSION 3.0)

set( CMAKE_CXX_FLAGS "-std=c++11" ) 
set( PROJECT_SOURCE_DIR /home/grand/workarea/fake-dus/grand-fake-dus/ )
set( SRC_LIST
            ./fakeDU-src/message.cpp
            ./fakeDU-src/message_impl.cpp
            ./fakeDU-src/grand-virtual-du.cpp
            ./fakeDU-src/grand-virtual-du1.cpp )
set (EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}fakeDU-app)

LINK_DIRECTORIES(/home/grand/pc_installed/lib)

INCLUDE_DIRECTORIES(/home/grand/pc_installed/include)
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}fakeDU-src)

aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST)

add_executable(fakedu1 ${SRC_LIST})

TARGET_LINK_LIBRARIES(fakedu1 libzmq.so)

一些代码注解

  1. TARGET_LINK_LIBRARIES(fakedu1 libzmq.so)
    TARGET_LINK_LIBRARIES(fakedu1 libzmq.so)
    
    目标链接库需要放在add_executable之后,逻辑上需要加在编译的可执行项目后,尽量书写全称,书写全称可避免动态库和静态库的区分。
  2. SRC_LIST
    实例中的程序SRC_LIST代表了编译项目所需要的所有源cpp文件。
    aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST)
    
    使用的aux_source_directory表示告诉编译器去哪里找到编译项目所需要的源程序。
  3. INCLUDE_DIRECTORIES
    告诉编译器所需要的头文件的所在位置,一般用外部链接库时需要额外添加
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值