首页 > 其他分享 >安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查

安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查

时间:2023-09-08 18:37:42浏览次数:51  
标签:undefined reference 编译 TSINGSEE libEasyRTSPServer RTSPSever uselocale


大家知道我们团队编译过很多产品的ARM版本,对用户来说,多一种编译方式也是多一种选择,所以我们一直在拓宽TSINGSEE青犀视频全线产品的运用范围。近期TSINGSEE青犀视频研发团队编译了libEasyRTSPServer的ARM版本,在此过程中,我们遇到了编译错误undefined reference to `uselocale’。

安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查_系统编译

libEasyRTSPServer编译ARM版本出现log提示:
undefined reference to uselocale' undefined reference tofreelocale’
In function Locale::Locale(char const*, LocaleCategory)': undefined reference tonewlocale’
undefined reference to `uselocale’

安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查_c++_02

我尝试了用nm命令查看so的符号表,看看这个函数是否正常,于是nm -D 库文件,查看了下,结果函数正常的。然后想到C++ 调用C存在混编问题,于是在编译选项加上 -lstdc++,结果还是报错。

最终沿着混编问题走下去,我找到了原因,这些函数的使用都有宏定义控制
针对这些宏的说明,在对应的local.hh。

安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查_宏定义_03

如果系统中没有这些函数,则需要增加-DLOCALE_NOT_USED 宏定义。

安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查_宏定义_04

重新编译后不再报错。

系统编译出现undefined reference to错误的原因其实有很多,往往会给工作带来一定的排查难度,所以在后期我会慢慢把这个问题解释清楚,大家如果有兴趣可以关注我的博客,同时我也会不定期更新更多关于TSINGSEE青犀视频解决方案相关内容,欢迎大家浏览。

标签:undefined,reference,编译,TSINGSEE,libEasyRTSPServer,RTSPSever,uselocale
From: https://blog.51cto.com/u_16247540/7412127

相关文章

  • 解决vite-plugin-mock: if (!require.cache) { ^ ReferenceError: require is not
    项目中:  "mockjs":"^1.1.0",  "vite-plugin-mock":"^3.0.0",运行报错:file:///C:/Users/jkf9941/Desktop/study/vue3Mange/node_modules/vite-plugin-mock/dist/index.mjs:128 if(!require.cache){ReferenceError:requireisno......
  • 前端项目实战叁佰伍拾react-admin和material ui-ReferenceInput的用法
    import{Edit,SimpleForm,TextInput,ReferenceInput}from'react-admin';constContactEdit=()=>(<Edit><SimpleForm><TextInputsource="first_name"/><TextInputsource......
  • 用SharedPreferences写的存储工具类
    读写更方便publicclassPersistenceUtil{ privateContextcontext; publicContextgetContext(){ returncontext; } publicvoidsetContext(Contextcontext){ this.context=context; } publicPersistenceUtil(Contextcontext){ this.context=contex......
  • IfcReference
    IfcReference实体定义此实体用于引用实例上属性的值。它可以指标量属性的值,也可以指基于集合的属性中的值。引用的属性可以是直接值、对象引用、集合、反向对象引用和反向集合。引用可以被链接以形成对象属性引用的路径。 Attributedefinitions#AttributeTypeCardinality......
  • vscode reference代码提示怎么关闭
     ......
  • java原子类AtomicStampedReference
    一、什么是CASCAS,compareandswap的缩写,中文翻译成比较并交换。CAS操作包含三个操作数,内存位置(V)、预期原值(A)和新值(B)。如果内存位置的值与预期原值相匹配,那么处理器会自动将该位置值更新为新值。否则,处理器不做任何操作。二、案例publicstaticintcount=0;privatefinal......
  • error: undefined reference to `cv::imread(cv::String const&, int)' 解决方法
    方法1原文链接:https://blog.csdn.net/WhiteLiu/article/details/72901520编译时出现下列错误:undefinedreferenceto'cv::imread(cv::Stringconst&,int)'undefinedreferenceto'cv::String::deallocate()'undefinedreferenceto'cv::imread(cv::S......
  • 为什么会有 AtomicReference ?
    我把自己以往的文章汇总成为了Github,欢迎各位大佬starhttps://github.com/crisxuan/bestJavaer我们之前了解过了AtomicInteger、AtomicLong、AtomicBoolean等原子性工具类,下面我们继续了解一下位于java.util.concurrent.atomic包下的工具类。关于AtomicInteger、Ato......
  • Relying upon circular references is discouraged and they are prohibited by defau
    Relyinguponcircularreferencesisdiscouragedandtheyareprohibitedbydefault.创建springboot项目时,使用的版本是2.7.13,运行项目时报错Relyinguponcircularreferencesisdiscouragedandtheyareprohibitedbydefault.Updateyourapplicationtoremovethe......
  • local variable referenced before assignment
    在函数内部更改全局变量就会出现此错误。对于全局变量的修改如果全局变量是int或者str,那么如果想要在函数中对函数变量进行修改,则需要先在函数内,声明其为global,再进行修改如果是list或者dict则可以直接修改摘选:https://blog.csdn.net/weixin_48419914/article/details/12200......