一个简单的cmake编译C++的例子来学习各个内容

本例实现一个简单的helloworld的程序的编译
共包含3个文件

libHelloSLAM.cpp  libHelloSLAM.h  main.cpp

libHelloSLAM.h

#ifndef LIBHELLOSLAM_H_
#define LIBHELLOSLAM_H_

void printHello();

#endif

libHelloSLAM.cpp

#include <iostream>
using namespace std;

void printHello()
{
    cout << "Hello SLAM" << endl;
}

main.cpp

#include "libHelloSLAM.h"

int main()
{
    printHello();
    return 0;
}

CMakeList.txt

cmake_minimum_required( VERSION 2.8)

#工程名
project( HelloSLAM)

#添加可执行文件
add_executable( main main.cpp)

#设置头文件的搜索路径
#include_directories(./include)

#生成库
add_library(hello libHelloSLAM.cpp) #静态库
add_library(hello_shared SHARED  libHelloSLAM.cpp) #加了shared就是共享库
#共享库有3个名字
#realname:库的真实名称,如 libcurl.so.4.5.0。格式为:lib+库名+.so+大版本号+小版本号+发行号
#soname:库的软连接名称,libcurl.so.4
#linkername:编译过程中使用的so的名称,如上面的hello_shared。

#链接到库
target_link_libraries( main hello_shared)

防止生成的可执行程序找不到共享库的位置了,需要设置搜索路径:

vi ~/.bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:XXXX
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值