symbol lookup error: xxx.so: undefined symbol: xxx

undefined symbol问题的查找、定位与解决方法 最近发现一个程序执行中报错,报错内容如下,这里对排查和修复方法做一个记录。先说结论,比方说你编译时只加入了头文件*.h,而函数实现部分.c,文件未编译进去,这时候就会出现undefined symbol。还有一种情况是,在C++代码调用C语言代码也会导致出现,原因是,这就会导致*.h文件中定义的函数,找不到对应.c文件中的实现。解决办法是在*.h文件中添加将C语言的函数声明括起来即可。 阅读详情

完整错误

symbol lookup error: /usr/lib/libtools_x86.so: undefined symbol: _ZN2cv21getStructuringElementEiNS_5Size_IiEENS_6Point_IiEE

个人理解

        动态库中每个函数都有自己的索引符号,当前错误是没有找到函数的索引符号。

        静态库文件索引符号及函数可用 nm -D xxx.so 进行查看

        静态库连接其他库可用 ldd xxx.so 进行查看

 发现左侧没有索引符号,对应了报出的问题

 解决方法

        因为我的构造函数中使用了该方法出现了这个错误,我把此方法放到了成员函数中就解决了这个问题。

以上仅是个人理解所记录,如有错误的地方请指正,谢谢!!

20211210:Bug记录symbol lookup error:undefined symbol ** **## 一、undefined symbol错误** ** 今天在运行模块执行文件时,出现了如下报错 "symbol lookup error"、"undefined symbol",提示 cos_getfile_mcd 可执行文件在加载 .so 文件时,出现了无法找到符号的错误,并给出了具体错误:_ZN20CCosGetfileTimerInfoC2Ev 符号未定义。 那么如何定位该错误呢?一般可以先使用 ldd指令 去查看一下可执行文件的链接库,但是我的可执行文件是在加载调用.so文件的 阅读详情

相关推荐

源码启动改为systemctl方式启动——/usr/lib/systemd/system/*.service

背景:源码安装的服务启动和开机重启都比较麻烦 解决方案:改为systemctl方式启动 相关配置: /usr/lib/systemd/system/*.service

linux_yyp的博客 1065

【Linux】symbol lookup error: undefined symbol + nm指令定位错误

一、undefined symbol错误 今天在运行模块执行文件时,出现了如下报错 "symbol lookup error"、"undefined symbol",提示 cos_getfile_mcd 可执行文件在加载 .so 文件时,出现了无法找到符号的错误,并给出了具体错误:_ZN20CCosGetfileTimerInfoC2Ev 符号未定义。 那么如何定位该错误呢?一般可以先使用 ldd指令 去查看一下可执行文件的链接库,但是我的可执行文件是在加载调用.so文件的过程中出现报错,ldd指令

qq_34018840的博客 2万+

SolidWorks软件安装管理程序在创建该注册表项时遇到错误: UNKNOWN\Components的解决方案

SolidWorks软件安装管理程序在创建该注册表项时遇到错误: UNKNOWN\Components的解决方案

Q82556499的博客 4167

“symbol lookup error”

程序在运行阶段出现“ symbol lookup error, undefined symbol: _ZN14FaceFeatureAppC1Ev”,首先需要明白出现了什么问题,出现未定义的符号,而且现在已经处于编译通过执行可执行程序的阶段,说明编译链接都没有问题,不过现在执行的时候在去加载实现“FaceFeatureApp”函数的动态库的时候出现问题,此时首先去确认此函数是在哪个库中实现,有两种...

guo__jing的博客 1万+

你的App合规吗?手把手教你用Camille生成隐私调用报告给老板看

本文详细介绍了如何使用开源工具Camille进行Android App隐私合规检测,并生成高管易懂的隐私调用报告。通过动态插桩技术和多维度分析,Camille能有效识别高风险API调用,并将其映射到具体法律条款,帮助技术团队与法务、产品等非技术部门高效沟通,确保App符合《个保法》等法规要求。

weixin_33726318的博客 422

【学习总结】飞跨电容三电平boost拓扑发波分析与matlab仿真

正常工作时,飞跨电容的电压大约控制在输出电压的一半,降低了开关器件的耐受电压。

晞子的技术札记 1万+

symbol lookup error:XXX.so: undefined symbol: 解决办法

通过 ldd -rxxx.so命令查看so库链接状态和错误信息 ldd命令,可以查看对应的可执行文件或库文件依赖哪些库,但可执行文件或库文件要求与操作系统的编译器类型相同,即电脑是X86的GCC编译器,那么无法通过ldd命令查看ARM交叉编译器编译出来的可执行文件或库文件。 如果想在Ubuntu等Linux宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,可以通过以下命令: readelf -d xxx.so | grep NEEDED # lichunhong @ lichun..

dbdxnuliba的博客 1万+

Chronos:学习时间序列的大语言模型(论文解读)

《Chronos:学习时间序列的大语言模型》论文翻译

qq_20144897的博客 9052

opt: symbol lookup error xxx.so undefined symbol: xxx

在申明函数后的定义函数环节,没有使用类名指明作用对象。 例如: class test{ public: void testFunction(); }; void testFunction(); 这样直接运行程序并调用该函数时会出现错误提示opt: symbol lookup error xxx.so undefined symbol: xxx 正确做法 class test{ public:...

Richard_pl的博客 905

YOLOv8自动驾驶系统 —— 夜间低光照条件 详细说明和完整代码

本文提出一种针对夜间低光照优化的自动驾驶车道保持系统方案,基于YOLOv8模型改进,包含三大核心技术:1.采用Retinex理论的多尺度低光增强算法,结合自适应伽马校正;2.改进YOLOv8的车道检测模型,通过夜间专用数据集训练,增加抗眩光处理;3.多传感器融合框架,整合可见光与红外图像。系统实现动态逆透视变换和参数调整,在Jetson Orin硬件上达到30ms级实时性能。测试显示在无照明、眩光干扰等极端场景下保持稳定,代码已开源。扩展方向包括V2X协同定位和自适应大灯联动控制。

u010117029的博客 598

利用蓝牙低功耗技术与位置数据,提升邮政运输工具及笼车追踪的效率

BLE 即蓝牙低功耗技术,与无线音箱或各类电脑配件所用的技术类似。正如其名,BLE 的特点是:在实现相近传输范围的同时,功耗显著更低。这让它能应用于对电池续航要求极高的场景。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 779

运行时报 symbol lookup error: xxx.so: undefined symbol: 原因分析

模板函数的定义尽量放在.h文件,不要放到.cpp文件中。

beefirst117的博客 1万+

delphi 调用deepseek r1 api 并流式返回结果

摘要:本文展示了一个使用Delphi调用DeepSeek API的代码示例,包含两种调用方式:一次性获取结果和流式返回结果。代码实现了完整的API请求处理,包括HTTP客户端设置、JSON数据处理和UI界面交互。其中流式调用通过TStreamReader处理服务器发送事件(SSE),实时更新到TRichEdit控件并保持滚动条位置。文章还提到界面美化优化,为Delphi开发者提供了调用AI服务的实用参考方案。(150字)

全粘工程师 491

symbol lookup error: libxxx.so: undefined symbol:xxx问题解决记录

今天在已有的库上新增了一些类后,运行程序报错ymbol lookup error: libxxx.so: undefined symbol:xxx。

qq_50661734的博客 3650

训练救星!EMA多尺度注意力让YOLOv11轻松攻克自定义数据集不涨点难题

在目标检测模型训练中,自定义数据集不涨点是阻碍算法落地的核心痛点之一。传统训练策略在数据分布特殊、样本量有限的场景下极易陷入收敛停滞,而 EMA(指数移动平均)结合多尺度注意力的方案,在自定义数据集上实现mAP 提升 6.5%,同时让训练曲线从“平缓停滞”转为“持续攀升”,彻底解决创新点在自有数据上的性能瓶颈。本教程将带你从原理到实践,通过 EMA 多尺度注意力为 YOLOv11 注入训练稳定性,让你的自定义数据集模型训练实现质的飞跃。EMA 衰减率:小样本数据集建议将decay。

FJN110的博客 160

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Python报错symbol lookup error: xxx.so: undefined symbol: cufftxxx解决办法

技术背景 在上一篇文章中介绍过如何实现本地MindSpore的CUDA算子,那么在算子编译和使用的过程中可能会出现一些小问题,这里介绍的是编译成功为so动态链接库之后,在python中调用,提示找不到xxx函数/字符的报错。这里使用的编译指令为: $ nvcc --shared -Xcompiler -fPIC -o xxx.so xxx.cu 编译后完整报错如下: python3: symbo...

Dechin的博客 936

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

symbol lookup error:XXX.so: undefined symbol: 解决办法----以 libpcap.so 的 pcap_dump_open_append 函数为例

symbol lookup error:XXX.so: undefined symbol: 解决办法----以 libpcap.so 的 pcap_dump_open_append 函数为例;修改动态库链接路径的一个方法。

Jason_Math的博客 2825

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

qtxlsx 使用过程中出现 symbol lookup error: xxx: undefined symbol: _ZdlPvm, version Qt_5(libQt5Xlsx.so)解决办法

qxlsx出现undefined symbol: _ZdlPvm, version Qt_5的解决办法

smallsmallduck的博客 770

解决gedit: symbol lookup error: /home/xxx/libgobject-2.0.so.0: undefined symbol: g_date_copy问题

操作系统:Ubuntu 16.04 问题描述: 在终端启动gedit命令或者vscode命令报错:gedit: symbol lookup error: /home/chujie/anaconda3/lib/libgobject-2.0.so.0: undefined symbol: g_date_copy 问题分析: 导致错误的原因应该是gedit依赖libgobject-2.0.so库...

zjchenchujie的博客 1万+

QT5程序部署提示缺少Qt5系统库问题的解决方法 symbol lookup error /libQt5XcbQpa.so.5: undefined symbol:xxx

解决QT5.12程序部署环境提示缺少QT系统平台库或相关动态库检索错误的解决方案。 symbol lookup error: /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: entsEb, version Qt_5_PRIVATE_API

qq_29852231的博客 5004

ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,报symbol lookup error和undefined symbol错误的解决办法

转载自:https://blog.csdn.net/fyf8733/article/details/107382599 ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,报symbol lookup error和undefined symbol错误的解决办法 尼克 2020-07-16 14:49:46 1041 收藏 分类专栏: 机器视觉及V-SLAM 文章标签: linux ubuntu 版权 在ubuntu 16.04使用IntelR

自主无人机 PX4 ROS SLAM 路径规划 MVS等技术分享 1407

转载--解决gedit: symbol lookup error: /home/xxx/libgobject-2.0.so.0: undefined symbol: g_date_copy问题

操作系统:Ubuntu 16.04 问题描述: 在终端启动gedit命令或者vscode命令报错:gedit: symbol lookup error: /home/chujie/anaconda3/lib/libgobject-2.0.so.0: undefined symbol: g_date_copy 问题分析: 导致错误的原因应该是gedit依赖libgobject-2.0.so库,而/home/chujie/anaconda3/lib下的这个库版本不对,没有对应的符号。 因此解决的思路是从系统中找

中华田园巨龙 1855

解决./XXX: symbol lookup error: /home/root/shenyl/lib/libxxx.so: undefined symbol: _ZN3VRC18AppP

ldd命令,可以查看对应的可执行文件或库文件依赖哪些库,但可执行文件或库文件要求与操作系统的编译器类型相同,即电脑是X86的GCC编译器,那么无法通过ldd命令查看ARM交叉编译器编译出来的可执行文件或库文件。如果想在Ubuntu等Linux宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,可以通过以下命令readelf-dxxx.so|grepNEEDED。1、首先用file命令查看编译的动态库是否和自己的平台一直。问题分析这种问题一般是在运行的过程链接出现问题。...

m0_64081285的博客 1014

symbol lookup error: xxx undefined symbol xxx

我在编译一个小工程时,编译过程并没有报错,但是在运行报了如下错误: undefined symbol N2cv3Mat20updateContinuityFlagEv。解决此类问题的思路可以从如下几个方面入手: 库没有正确连接,但如果是这个问题,我们在编译时往往就会报错。 库的版本不对,比如我们使用的第三方库其依赖的是OpenCV2,但是我们自己的工程使用的时OpenCV3,这时也会有这个问题。...

Sunshine_in_Moon的专栏 2064

Linux C编程问题:symbol lookup error: xxx undefined symbol xxx

程序代码在编译的时候没问题,但是在运行的时候报错: ./bin: symbol lookup error: ./bin: undefined symbol: xxx 百度了一下,貌似是程序运行时使用的动态库和编译时makefile 指定链接的动态库不同所致。用ldd查看文件使用到的库,有很多,但是仔细看 undefined symbol: 后的一串文字: _ZN10xxx8xxxEPKc...

guangyacyb的博客 3万+
上一篇: 生成SO指定存储路径
下一篇: 杂乱随手笔记
有志青年L
博客等级 码龄10年 30粉丝 59原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值