(注:由于项目需求,需要将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文件进行了封装并成功调用。感谢您的阅览!若有不足之处,欢迎相互交流!