Linux C++,so动态库 示例实例
本文以Eclipse集成开发环境为例进行说明。
一、主要步骤
(1)创建动态连接库(.so)工程
(1.1)建立.so工程;
(1.2)添加MyHelloworld.cpp、MyHelloworld.h文件
(1.3)添加 -fPIC编译选项
(1.4)新增自定义成员函数:PrintHelloWorld函数
(1.5)设置“.so”动态链接库名称
(1.6)设置.so动态链接库生成路径
(2)创建Main主程序
(2.1)创建Main主程序
(2.2)设置部署路径
(3)调用.so动态库
(3.1)添加调用代码
(3.2)添加.h文件引用目录(.h文件复制到本工程中的相对目录)
(3.3)添加.so库文件 编译路径(注意:是编译路径;运行路径后面还需单独再次设置)
(3.4)export 设置.so运行 生效环境变量
(4)编写启动脚本,自动执行export
注意:过程中有异常处理:,报“cannot open shared object file:No Such file or directory”
二、示例源代码
.so工程源代码
/*
* MyHelloWorld.h
*
* Created on: 2022年3月13日
* Author: limg
*/
#ifndef MYHELLOWORLD_H_
#define MYHELLOWORLD_H_
class MyHelloWorld {
public:
MyHelloWorld();
virtual ~MyHelloWorld();
bool PrintHelloWorld();
};
#endif /* MYHELLOWORLD_H_ */
/*
* MyHelloWorld.cpp
*
* Created on: 2022年3月13日
* Author: limg
*/
#include "MyHelloWorld.h"
#include <stdio.h>
MyHelloWorld::MyHelloWorld() {<