zoukankan      html  css  js  c++  java
  • 安防教育直播项目应用中RTSPSever组件libEasyRTSPServer编译arm版本报undefined reference to错误问题排查

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

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

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

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

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

    重新编译后不再报错。

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

     
  • 相关阅读:
    Linux LCD驱动(四)--驱动的实现
    Linux LCD驱动(三)--图形显示
    s3c2440的LCD字符显示
    Linux framebuffer显示bmp图片
    Linux Framebuffer编程简介
    linux 2440 LCD 应用程序编程
    嵌入式Linux下S3C2410的调色板彩色显示
    l​i​n​u​x​下​L​C​D​(​f​r​a​m​e​b​u​f​f​e​r​)​驱​动​分​析
    我的基本信息
    unity生命周期
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/13744339.html
Copyright © 2011-2022 走看看