Cmake相同源码,编a库OK,编so库提示各种未定义的引用
来源:互联网 发布:windows10组策略优化 编辑:程序博客网 时间:2024/05/23 14:58
由于缺少arm小伙伴,我这个对arm一窍不通的小白菜也只好自己动手了。
遇到杂七杂八各种问题。捡一点儿记录一下,一呢方便以后在遇到类似问题回顾,另外呢,如果能帮到像我一样的小白菜那就更好了。
这次呢,我是用ncnn架构封装人脸相关的算法库。
把库源码和示例源码一起编译,生成静态库a库和测试用的可执行文件main,米有问题,测试结果也正确。
保持一切不变,只是将add_library中的STATIC改为SHARED,计划生成动态库so库,编译生成时,so库能够正常生成,但是生成测试文件main的时候,会提示他调用的那些库接口函数是未定义的引用。
其实原因在于,接口的地方要 attribute visibility default,而ncnn中没有,所以shared library会找不到符号...
暂时解决方案:把fvisibility关掉就可以
工程主CMakeLists.txt中有一句
add_definitions(-fvisibility=hidden -fvisibility-inlines-hidden)
将这句注释掉。
不过这么做了,生成的so库和可执行文件都大很多。anyway,毕竟可以生成,也可以正常执行了。
原理还不太懂,mark一下,或许之后可以研究一下。
阅读全文
0 0
- Cmake相同源码,编a库OK,编so库提示各种未定义的引用
- 编动态链接库时,提示 对‘dlopen’未定义的引用.该如何解决
- 一、ffmpeg编译成android使用的so库
- 如何编译成.so动态库?
- lua 编译成动态库(.so)
- [安卓]Android导入第三方静态库.a编译成动态库.so
- Android导入第三方静态库.a编译成动态库.so
- Android导入第三方静态库.a编译成动态库.so
- Android导入第三方静态库.a编译成动态库.so
- Android导入第三方静态库.a编译成动态库.so
- Android导入第三方静态库.a编译成动态库.so
- Android导入第三方静态库.a编译成动态库.so
- LUA源码编译成动态库
- 编译成.a 文件 静态库
- android jni层快速编译成so库
- mac os x 将C文件编译成.so库
- NDK下 将Platinum SDK 编译成so库 (android
- 请问 linux下怎样把几个静态库(libabc.a...)编译成一个动态库(libtest.so)
- 【软考之旅】七大软件过程模型
- 调整数组顺序使得奇数位于偶数前面,且奇数与奇数,偶数与偶数之间的位置相对不变
- javaweb开发为什么要使用框架
- Oracle数据库导入dmp文件
- Android WebView 使用时需要注意的漏洞
- Cmake相同源码,编a库OK,编so库提示各种未定义的引用
- React 单向数据流
- Bomb HDU5934
- 析构函数多态的问题
- 微信端iphone 使用video标签播放不了视频
- 剑指offer的最小k个数
- Jquery+HTML5+PHP实现前台压缩图片并上传
- Trafodion Troubleshooting-Certificate file error
- python 赋值问题