【问题标题】:Manjaro: [arm-none-eabi-g++] undefined reference to `getentropy'Manjaro:[arm-none-eabi-g++] 未定义对“getentropy”的引用
【发布时间】:2023-02-06 17:06:17
【问题描述】:

一个.cpp:

#include <iostream>

int main()
{
    std::cout << "hello world" << std::endl;
    return 0;
}

命令输入:

arm-none-eabi-g++ -specs=nosys.specs a.cpp

命令输出:

/usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: /usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/lib/thumb/nofp/libstdc++.a(random.o): in function `std::(anonymous namespace)::__libc_getentropy(void*)':
/build/arm-none-eabi-gcc/src/gcc-12.2.0/libstdc++-v3/src/c++11/random.cc:179: undefined reference to `getentropy'
/usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: /usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/lib/thumb/nofp/libstdc++.a(random.o): in function `std::random_device::_M_init(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
/build/arm-none-eabi-gcc/src/gcc-12.2.0/libstdc++-v3/src/c++11/random.cc:452: undefined reference to `getentropy'
/usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/bin/ld: /usr/lib/gcc/arm-none-eabi/12.2.0/../../../../arm-none-eabi/lib/thumb/nofp/libc.a(lib_a-arc4random.o): in function `_rs_stir':
/build/arm-none-eabi-newlib/src/build-newlib/arm-none-eabi/thumb/nofp/newlib/libc/stdlib/../../../../../../../newlib-4.2.0.20211231/newlib/libc/stdlib/arc4random.c:89: undefined reference to `getentropy'
collect2: error: ld returned 1 exit status

不知道为什么arm-none-eabi-g++编译失败,如果我用arm-none-eabi-gcc编译C语言,是可以编译成功的。是否缺少某些导致编译失败的参数?

【问题讨论】:

    标签: c++ gcc arm g++


    【解决方案1】:

    我查看了官方的 GCC 错误列表,其中提到了这个问题,但它被标记为已解决。 GCC Bug Description

    【讨论】:

    • 我从这篇文章中删除了不能被接受为答案的部分。如果剩下的“这是一个已解决的已知错误。”不是你想要的答案请删除。
    猜你喜欢
    • 2018-06-17
    • 2016-05-01
    • 2013-10-25
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 2022-01-14
    • 1970-01-01
    相关资源
    最近更新 更多