Ubuntu下使用个g++将cpp文件封装为.so共享库文件

(注:由于项目需求,需要将cpp文件进行封装使用,特记录在此以备以后不时之需,以下过程是本人亲自走过的过程,使用的Ubuntu1604系统,可能有一些不足之处,还望不吝批评指正)

1、先创建一个test.cpp文件以及test.h文件,简单示例如下:

//test.cpp
#include "test.h" 
using namespace std;  

void TEST::func()
{
    cout << "恭喜你,封装cpp文件为.so共享库文件成功!\n";
}
//test.h
#include<iostream>

using namespace std;

class TEST{
public:
	TEST(){};
	~TEST(){};
	void func();
};

2、使用以下命令封装成.so文件:

g++ -std=c++11 -fPIC -shared test.cpp -o libtest.so

3、使用下面cpp demo文件已封装好的.so文件进行测试

//main.cpp
#include<iostream>
#include"test.h"

using namespace std;

int main(){
	TEST myclass;
	myclass.func();
	return 0;
}

4、将main.cpp文件使用以下命令进行编译:

g++ main.cpp -o main ./libtest.so

5、使用以下命令进行执行:

/.main

6、运行结果如下,说明封装成功!

附录:文件构成如下图,可以看到我们想要的.so文件:

至此我们将一个cpp文件进行了封装并成功调用。感谢您的阅览!若有不足之处,欢迎相互交流!

发布了19 篇原创文章 · 获赞 21 · 访问量 5519

猜你喜欢

转载自blog.csdn.net/r1141207831/article/details/102616466
今日推荐