GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

2024-05-17

我有以下程序:

#include <iostream>
#include <sstream>
using namespace std;

int main()
{
    //ostringstream s;
    cout << "cpp test" << endl;
    return 0;
}

我使用交叉编译器在 Ubuntu 20.04 桌面上构建它:

arm-linux-gnueabihf-g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/cpp_test.d" -MT"src/cpp_test.o" -o "src/cpp_test.o" "../src/cpp_test.cpp"
arm-linux-gnueabihf-g++  -o "cpp_test"  ./src/cpp_test.o

然后我复制cpp_test到 BeagleBone Black Wireless 板并执行它:

debian@beaglebone:~/c$ ./cpp_test 
cpp test
debian@beaglebone:~/c$ ldd cpp_test
    linux-vdso.so.1 (0xbee85000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6ea1000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6e78000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d7e000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6d03000)
    /lib/ld-linux-armhf.so.3 (0xb6fbe000)

现在我取消注释该行ostringstream s;,构建程序,将其复制到 BeagleBone 并执行:

debian@beaglebone:~/c$ ./cpp_test 
./cpp_test: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./cpp_test)
debian@beaglebone:~/c$ ldd cpp_test
./cpp_test: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ./cpp_test)
    linux-vdso.so.1 (0xbefa6000)
    libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb6e22000)
    libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6d28000)
    /lib/ld-linux-armhf.so.3 (0xb6f3f000)
    libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6cad000)
    libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb6c84000)

董事会的附加信息:

debian@beaglebone:/usr/lib/arm-linux-gnueabihf$ ls -l | grep libstdc++.so.6
lrwxrwxrwx  1 root root       19 Apr  6  2019 libstdc++.so.6 -> libstdc++.so.6.0.25
-rw-r--r--  1 root root  1019772 Apr  6  2019 libstdc++.so.6.0.25
debian@beaglebone:/usr/lib/arm-linux-gnueabihf$ uname -r
4.19.94-ti-r45
debian@beaglebone:/usr/lib/arm-linux-gnueabihf$ uname -a
Linux beaglebone 4.19.94-ti-r45 #1buster SMP PREEMPT Thu Jun 18 19:18:41 UTC 2020 armv7l GNU/Linux


debian@beaglebone:~$ strings /usr/lib/arm-linux-gnueabihf/libstdc++.so.6.0.25 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
...
GLIBCXX_3.4.24
GLIBCXX_3.4.25
  

楼主提供的补充信息:



alex@alex-u20:~$ arm-linux-gnueabihf-g++ -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/arm-linux-gnueabihf/9/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-10ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --without-target-system-zlib --enable-libpth-m2 --enable-multiarch --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=hard --with-mode=thumb --disable-werror --enable-multilib --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueabihf --program-prefix=arm-linux-gnueabihf- --includedir=/usr/arm-linux-gnueabihf/include
Thread model: posix
gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu1)

alex@alex-u20:/usr/lib/x86_64-linux-gnu$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
...
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
  

最后,这个程序使用qemu在桌面上运行:

alex@alex-u20:~/tmp/cpp_test/Debug$ qemu-arm-static -L /usr/arm-linux-gnueabihf/ cpp_test
cpp test

两台计算机、主机和 BB 板均已完全更新。


GLIBCXX_3.4.26附带gcc-8。安装 gcc-8 并升级libstdc++6为我工作。运行如下所示here https://github.com/ufo-project/ufochain/issues/3:

sudo apt update
sudo apt install wget gcc-8 unzip libssl1.0.0 software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt-get install --only-upgrade libstdc++6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序 的相关文章

  • 如何在 Unity 中从 RenderTexture 访问原始数据

    问题的简短版本 我正在尝试访问 Unity 中 RenderTexture 的内容 我一直在使用 Graphics Blit 使用自己的材质进行绘制 Graphics Blit null renderTexture material 我的材
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 为什么禁止在 constexpr 函数中使用 goto?

    C 14 对你能做什么和不能做什么有规则constexpr功能 其中一些 没有asm 没有静态变量 看起来相当合理 但标准也不允许goto in constexpr功能 即使它允许其他控制流机制 这种区别背后的原因是什么 我以为我们已经过去
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • C 中的位移位

    如果与有符号整数对应的位模式右移 则 1 vacant bit will be filled by the sign bit 2 vacant bit will be filled by 0 3 The outcome is impleme
  • 将应用程序从 Microsoft Access 迁移到 VB 或 C#.NET

    我目前正试图说服管理层需要将我们的应用程序之一移植到 NET 该应用程序已经发展成为 Access 中的一个庞然大物 SQL 后端 拥有 700 个链接表 650 个表单 子表单 130 个模块和 850 个查询 我几乎知道这样做的所有主要
  • char指针或char变量的默认值是什么[重复]

    这个问题在这里已经有答案了 下面是我尝试打印 char 变量和指针的默认值 值的代码 但无法在控制台上看到它 它是否有默认值或只是无法读取 ASCII 范围 include
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 窗体最大化时自动缩放子控件

    有没有办法在最大化屏幕或更改分辨率时使 Windows 窗体上的所有内容自动缩放 我发现手动缩放它是正确的 但是当切换分辨率时我每次都必须更改它 this AutoScaleDimensions new System Drawing Siz
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • 当对phonegap应用程序进行更改时,Eclipse不更新apk

    已经有人问过这个问题 但没有一个答案有效 例如清理 刷新 更改版本号等 当对源文件进行更改时 Eclipse 不会重建 android 项目 这是一个phonegap应用程序 如果我更改html文件甚至java代码 我仍然得到相同的apk
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • Box 与 X 上的移动语义

    我有一个简单的问题Box
  • 将ADODB二进制流转换为字符串vba

    我有以下问题 我有一个存储在服务器上的 CSV 文件 但它有 3 个字符作为分隔符 我想从 URL 加载数据并使用 作为分隔符将数据填充到 Excel 页面的列中 到目前为止 我找到了使用 ADODB 记录集从网站加载文件的代码 但我无法进
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • 如何返回包含最大值标签的向量

    我有一个 4 列数组 我想获得一个向量 其中每行包含包含该行最大值的列的标签 我可以在循环中执行此操作 但我想使用矩阵函数来提高速度 我怎样才能在不编写自己的库函数的情况下做到这一点 有一个函数可以做到这一点 如果x是你的矩阵 尝试max
  • Pandoc Markdown 分页符

    最近我开始使用 Pandoc markdown 它似乎是 LaTeX 的一个很好的替代品 因为我的文档没有很多数学公式 而且我没有任何使用 LaTeX 的经验 再加上不到 2 周的提交截止日期 这使它成为一个很好的解决方案 我无法解决的一件
  • JavaScript - 声明嵌套函数的全局作用域?

    我尝试为嵌套 JavaScript 函数提供全局范围的尝试不起作用 DECLARE FUNCTION B IN GLOBAL SCOPE function B function A DEFINE FUNCTION B INSIDE NEST
  • 如何使用 SQL 通过表示多级订单的 varchar 字段正确排序?

    我不太喜欢数据库 我发现在查询上出现以下问题SQL服务器数据库旧的遗留应用程序的 我声明不幸的是我无法更改数据库结构 字段类型 这非常难看 我有以下情况 SELECT Sottocategoria IdSottocategoria IdCa
  • 查找字符串中字符串的子序列

    我想创建一个函数来检查字符串中是否存在其他字符串 然而 正在检查的子串可能在主串内被其他字母打断 例如 a abcde b ace c acb 有问题的函数应返回为b正在a 但不是c 我试过了set a 已经交集 set b 了 我的问题是
  • Akka Scheduler() 每次重复都会迟到

    我有一个简单的调度程序 用于每 1 秒重复一次任务 Cancellable task Akka system scheduler schedule Duration create 0 TimeUnit MILLISECONDS Durati
  • MySQL 字符串中的第二个(或第三个)索引

    查找字符串中第三个空格的索引的最简单方法是什么 我的目标是得到CCC在此空格分隔的列表之外 AAAA BBBB CCCC DDDD EEE 其中A B和D是固定长度 C是可变长度 E F G是可选的 在Java中 我会使用indexof 起
  • 启动深色或浅色模式的图像

    如何为深色模式和浅色模式选 择一组不同的启动图像 我有一个 LaunchImages 集 当应用程序启动时 会显示一个图像 对于浅色模式 这似乎不错 但是如果我尝试在设置为深色模式 iOS 13 的设备上打开我的应用程序 则该图像看起来很糟
  • Windows 7 x64 上的 Ruby on Rails SQLite 问题

    当我尝试做的时候db create使用 Windows 7 x64 在具有此数据库配置的 sqlite 数据库上 development adapter sqlite3 database db development sqlite3 tim
  • 用 tkinter 画圆更简单的方法?

    在a上画一个圆tkinter Canvas通常由create oval方法 然而 提供边界框通常是绘制圆的一种令人困惑的方式 想出一个捷径并不是特别困难 但我找不到其他人在做类似的事情 所以我将其发布 希望其他人发现它有用 这是一个称为猴子
  • 分配给 Android Studio 的快捷方式不起作用

    I wanted to close active tab by shortcut in Android studio I found CTRL F4 does the job from here https stackoverflow co
  • 更改应用程序语言运行时而不重新创建活动

    我需要的 我想提供在应用程序中更改语言的选项 仅更改应用程序的语言 而不是整个手机语言 我做了什么 我尝试在运行时更改区域设置 它正在更改语言 问题是什么 我想要的是 我不想在更改语言时重新创建活动或片段 我尝试过的如下所示 测试活动 ja
  • IIS7 上的 ASP.NET 应用程序 - iisreset 后启动速度非常慢

    我有一个在 Windows 2008 上的 IIS7 下运行的 ASP NET 3 5 网站 当我重新启动 IIS iisreset 然后点击一个页面时 初始启动非常慢 我在 Process Explorer 中看到以下活动 w3wp ex
  • Android,使用硬件指南针

    我找不到关于 Android 硬件指南针的太多信息 我一直在尝试设置我的标准来强制 Android 使用硬件指南针 基本上我的问题是我希望即使设备静止时轴承也能更新 据我了解 GPS 只会在您移动时更新您的方位 无论您是否搬家 我都愿意更新
  • GLIBCXX_3.4.26 未找到在 BeagleBone 上运行交叉编译的程序

    我有以下程序 include