这是我们的头文件,只定义了一个加法函数
dylib_test.h
#ifndef OBJECT_DYLIBTEST_H
#define OBJECT_DYLIBTEST_H
#include <iostream>
namespace dylib_test
{
int add(int a, int b);
}
#endif
这是执行文件
dylib_test.cpp
#include "dylib_test.h"
namespace dylib_test
{
int add(int a, int b) {
return a + b;
}
}
最后是我们的测试文件
main.cpp
#include<iostream>
#include <dylib_test.h>
int main()
{
std::cout << "add res is " << dylib_test::add(1,2) << std::endl;
return 0;
}
打开终端输入:
g++ dylib_test.cpp -fPIC -shared -o libdylib_test.so
来生成我们的动态库.so文件
然后在目录下:sudo cp libdylib_test.so /usr/lib/
将我们的so文件拷贝到用户系统库里
再:sudo cp dylib_test.h /usr/include/
将我们的h头文件拷贝到系统头文件库里
最后就可以运行我们的main.cpp了:
先编译:g++ main.cpp -o test -ldylib_test
注意添加语句-ldylib_test来依赖我们的库,通过-l来找到我们前面生成的lib开头的so文件
./test
运行结果:
add res is 3