Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
求助:RTT移植Jrtplib库 能编译通过但是C++链接出错
发布于 2016-04-13 21:50:39 浏览:2717
订阅该版
在一个VOIP的项目中需要用的RTP库,开始选择ortp和mediastream库,现基本能实现一对一通话,但是otrp库没有实现RTP协议中多个参与者的情况,不满足项目需求。看了下现在网上用的很多的Jrtplib,只能支持多个参与者的情况,因此不得已移植Jrtplib到RTT上,但是Jrtplib 是C++编写的rtp库,库中使用了C++标准库,编译完后链接出现很大的问题,网上查了资料说没有连接libstdc++ libsupc++库,但是加上以后还是没有解决,主要错误提示有: ```In function `std::list
>::_M_insert(std::_List_iterator
, jrtplib::RTCPPacket* const&)': undefined reference to `std::__detail::_List_node_base::_M_hook(std::__detail::_List_node_base*)' In function `__gnu_cxx::new_allocator
>::allocate(unsigned int, void const*)': undefined reference to `std::__throw_bad_alloc()' undefined reference to `std::allocator
::allocator()' undefined reference to `std::basic_string
, std::allocator
>::basic_string(char const*, std::allocator
const&)' undefined reference to `std::basic_string
, std::allocator
>::basic_string(std::string const&)' undefined reference to `std::basic_string
, std::allocator
>::~basic_string()' undefined reference to `std::allocator
::~allocator()' undefined reference to `std::string::find(char, unsigned int) const' undefined reference to `std::string::length() const' undefined reference to `std::string::c_str() const'``` 编译选项是: ``` DEVICE = ' -mcpu=cortex-m4 -mthumb -mfpu=fpv4-sp-d16 -mfloat-abi=softfp -ffunction-sections -fdata-sections' CFLAGS = DEVICE + ' -g -Wall -DSTM32F407ZG -DSTM32F4XX -DUSE_STDPERIPH_DRIVER -D__ASSEMBLY__ -D__FPU_USED' AFLAGS = ' -c' + DEVICE + ' -x assembler-with-cpp -Wa,-mimplicit-it=thumb ' LFLAGS = DEVICE+ ' -lc -lm -lstdc++ -lsupc++ -nostartfiles -Wl,-v,--gc-sections,-Map=rtthread-stm32.map,-cref,-u,Reset_Handler -T stm32_rom.ld' CXXFLAGS= CFLAGS + ' -fno-exceptions fno-rtti ' ``` 各位走过路过的大神们,帮小弟看下是什么原因,谢谢!!!
查看更多
3
个回答
默认排序
按发布时间排序
bernard
2016-04-14
这家伙很懒,什么也没写!
看下来是stdc++库的问题,你是直接在stm32f407上跑voip,407资源够吗?
flz615
2016-04-14
这家伙很懒,什么也没写!
>看下来是stdc++库的问题,你是直接在stm32f407上跑voip,407资源够吗? --- 难道这个newlib的stdc++本身有问题?我怀疑是链接脚本里没有加什么段,导致没有链接进代码中,但是在ld的手册上并没有找到相关的说明,贴出我的链接脚本供各位大神分析: ``` .text : { . = ALIGN(4); _stext = .; KEEP(*(.isr_vector)) /* Startup code */ . = ALIGN(4); *(.text) /* remaining code */ *(.text.*) /* remaining code */ *(.rodata) /* read-only data (constants) */ *(.rodata*) *(.glue_7) *(.glue_7t) *(.gnu.linkonce.t*) *(.ARM.extab* .gnu.linkonce.armextab.*) *(.gcc_except_table) /* section information for module symbol */ . = ALIGN(4); __rtmsymtab_start = .; KEEP(*(RTMSymTab)) __rtmsymtab_end = .; /* section information for finsh shell */ . = ALIGN(4); __fsymtab_start = .; KEEP(*(FSymTab)) __fsymtab_end = .; . = ALIGN(4); __vsymtab_start = .; KEEP(*(VSymTab)) __vsymtab_end = .; . = ALIGN(4); /* section information for initial. */ . = ALIGN(4); __rt_init_start = .; KEEP(*(SORT(.rti_fn*))) __rt_init_end = .; . = ALIGN(4); PROVIDE(__ctors_start__ = .); /* old GCC version uses .ctors */ KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) PROVIDE(__ctors_end__ = .); . = ALIGN(4); /* .data section which is used for initialized data */ PROVIDE(__dtors_start__ = .); KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) PROVIDE(__dtors_end__ = .); . = ALIGN(4); _etext = .; } > FLASH = 0 ``` 关于407做voip资源的问题,现在实现的一对一通话407资源够用(必须用上ccm内存),用speex编解码也没有问题,很流畅。考虑我们这个项目需要多方通话,407的ram就不够用了,因此用了外部的sram。用外部sram后speex编解码就不行了,延迟越来越大,看来内部ram和外部ram对浮点运算性能的影响还是很大的,改用pcma编码就没问题,毕竟只是在局域网内通话,网络带宽不是问题。
撰写答案
登录
注册新账号
关注者
0
被浏览
2.7k
关于作者
flz615
这家伙很懒,什么也没写!
提问
10
回答
10
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
在RT-Thread Studio中构建前执行python命令
2
研究一了一段时间RTT,直接标准版上手太难,想用nano,但又舍不得组件
3
CherryUSB开发笔记(一):FSDEV USB IP核的 HID Remote WakeUp (USB HID 远程唤醒) 2025-01-18 V1.1
4
RT-thread 缩写字典
5
RT Thread 源码分析笔记 :线程和调度器
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
Bootloader
AT
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
聚散无由
2
篇文章
14
次点赞
catcatbing
2
篇文章
4
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
5
次点赞
xiaorui
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部