slam十四讲 01 CMakeLists.txt常用语句

slam十四讲 01 CMakeLists.txt常用语句,第1张

slam十四讲 01 CMakeLists.txt常用语句

笔记来自高翔的《视觉SLAM十四讲》

备忘


目录

笔记备忘

1 源程序

2 调用


1 源程序

主程序main.cpp

#include 

using namespace std;
int main(int argc, char** argv)
{
	cout << "Hellow" << endl;
	return 0;
}

文件lib_hello.cpp

#include 

using namespace std;

void printHello()
{
	cout << "Hellow" << endl;
}

CMakeLists.txt

cmake_minimum_required(VERSION 2.8)
project(helloSLAM)

add_executable(hellowslam main.cpp)  # (生成的文件名 源代码文件)

add_library(lib_hello lib_hello.cpp)   # (生成的文件名 源代码文件)生成静态库lib_hello.a

# 生成动态库  使用关键字SHARED
add_library(lib_shared_hello SHARED lib_hello.cpp)


# 静态库每次被调用会生成一个副本,共享库则只有一个副本,更省空间。
mkdir build
cd build
cmake ..   # relation
make       # call g++
2 调用库

上面生成的lib_shared_hello.so库文件是一个二进制压缩包,包含了编译好的二进制函数。为了让其他人调用,则需要提供头文件,只有有了头文件和库文件,则可以调用这个库

头文件lib_hello.h

#ifndef LIBHELLO_H_
#define LIBHELLO_H_

void printHello();

#endif

可执行文件来调用 use_hello.cpp

#include "lib_hello.h"


int main(int argc, char** argv)
{
	printHello();
	return 0;
}

CMakeLists.txt添加一个可执行程序的生成命令,链接到刚才使用的库上

add_executable(use_hello use_hello.cpp)   # 生成可执行文件use_hello
target_link_libraries(use_hello lib_shared_hello)  # 可执行文件链接到之前的库hello_shared

 如此,生成的可执行文件use_hello,便可以调用lib_shared_hello库中的代码。

./use_hello

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5634789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存