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万+

MobaXterm破解14个会话限制的保姆级教程(附Python环境配置指南)

本文提供了MobaXterm破解14个会话限制的详细教程,并深入讲解了如何配置稳定的Python环境以支持相关脚本运行。通过理解软件授权机制、安全实践步骤以及许可文件的应用,帮助用户解除会话数量限制,实现高效的远程服务器管理与自动化运维。

weixin_29211309的博客 1638

“symbol lookup error”

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

guo__jing的博客 1万+

群晖Hyper Backup还原实战:加密与非加密备份的完整操作指南

本文详细介绍了群晖Hyper Backup在加密与非加密备份场景下的完整还原操作指南。通过实战案例和高级技巧,帮助用户应对硬盘故障或系统崩溃时的数据恢复挑战,特别是加密备份恢复中的关键节点和常见陷阱。

weixin_29323365的博客 439

BDD测试之Behave使用入门

BDD测试(Behavior-Driven Development Testing)是一种基于“行为驱动开发”(BDD)理念。

想要成为酷盖但是失败的小明 580

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万+

基于ROS2系统开发机器人

以上是基于ROS 2开发机器人的基本流程和一个简单的发布者-订阅者示例。通过这个流程,你可以逐步扩展和优化你的机器人系统,实现更复杂的功能。

xuweilin的博客 1495

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

Windows本地部署Qwen3-14B实战指南:Ollama+Open WebUI零Docker方案

大语言模型本地部署是AI工程化落地的关键环节,其核心在于推理框架兼容性、硬件加速适配性与端到端稳定性。Ollama作为轻量级模型运行时,原生支持Windows DirectML与CUDA,规避了Docker/WSL2虚拟化开销和llama.cpp编译风险;Qwen3-14B则凭借128K上下文、Tool Calling原生支持及中文长文本结构化能力,成为政务、金融等场景首选。本文聚焦Windows平台真实约束——显存阈值、驱动版本匹配、路径编码兼容、离线知识库集成(RAG)等工程细节,提供经63台Windo

weixin_32136203的博客 412

R语言下载包报错?可能是IE浏览器在搞鬼!手把手教你修复(附CRAN镜像选择指南)

本文深入解析了R语言下载包时常见的网络报错问题,特别是Windows系统中因Internet Explorer代理设置导致的连接失败。文章提供了从重置IE配置、排查防火墙到优化CRAN镜像选择的完整解决方案,并附有详细的配置指南和自动化诊断脚本,帮助用户彻底解决R包安装难题。

weixin_29056781的博客 742

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

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

beefirst117的博客 1万+

全志D1s RISC-V开发板硬件设计与Linux启动全流程解析

RISC-V架构是当前国产嵌入式处理器演进的核心方向,其启动流程涵盖从BootROM、SPL到U-Boot及Linux内核的多级引导机制。理解该流程需掌握DDR初始化、设备树适配、电源时序控制等底层原理,技术价值在于构建可追溯、可调试、可量产的最小可行系统(MVS)。典型应用场景包括边缘AI推理终端、工业HMI和轻量级网关等对成本与开源性敏感的领域。本文以全志D1s平台为载体,深入剖析基于玄铁C906内核的RISC-V SoC在真实硬件上的启动验证、电源完整性设计与Linux全链路开源实践。

weixin_32306683的博客 358

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

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

qq_50661734的博客 3650

第42章:AI代码生成的质量标准——何时用AI、何时自己写

> - AI代码生成的质量分级标准:可用、稳定、安全、优雅 > - 一个决策矩阵:什么场景适合用AI,什么场景必须人工编写 > - 如何评估AI生成的代码质量(复杂度、可读性、安全性) > - 实战对比:同一需求下AI生成代码 vs 人工编写代码 > - 团队落地:将质量标准集成到Code Review和CI流程 > - 我如何将团队AI代码接受率从70%提升到90%

sfishfly的博客 161

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

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、付费专栏及课程。

余额充值