- 创建源程序
main.cpp - 生成o文件
main.o
g++ -c -fPIC main.cpp
- 编译生成动态链接库
g++ -shared -fPIC -o libgetrectangle.so main.o
- 将so文件拷贝到
/usr/lib - 创建测试程序
test.cpp,测试程序要先声明被调用函数 - 编译
test.cpp
g++ -o test test.cpp -L. -lgetrectangle `pkg-config --cflags --libs opencv`
- 运行测试程序
./test,确保存放图片地址的文本文件在同一级目录
PS:在符号之前添加visibility属性__attribute__ ((visibility ("hidden"))),将不允许它们在库中被导出,但是可以在源文件之间共享。
这里,test将无法调用动态链接库中被声明为__attribute__ ((visibility ("hidden")))的函数












网友评论