任务:linux系统,已经生成so库,需要调用。
参考文献:
Linux 调用动态库(.SO文件)总结_linux deviceio.so-CSDN博客
可以看他的第一部分,即显式调用。但是会报错,我的版本是64位的Ubuntu 20.04.6 LTS。会发现直接用第一种方式的代码报错,dlopen函数返回是void *型指针,不能匹配原so库中调用函数的函数指针类型。解决办法是强制转换一下,可以参考这篇:
linux 调用 so_开心的活着就好的技术博客_51CTO博客
即定义一个函数指针类型,然后调用dlsym函数强制转换此类型。

这种是可以调用成功的,直接编译调用程序,生成.out文件执行即可。需要注意的是,dlopen函数打开so库时的路径需要设置为绝对路径。





![[服务器-数据库]MongoDBv7.0.4不支持ipv6访问](https://img-blog.csdnimg.cn/img_convert/e7b858f50b1b1f328b3ad9c5b2e872b3.png)

![【深度学习:对象跟踪】对象跟踪完整指南 [教程]](https://img-blog.csdnimg.cn/direct/1ef869d8a2634f6294a0677817cb6ea6.png#pic_center)











