GNU ToolChains 交叉编译器 c/C++ 库问题

问题描述 投票:0回答:0

我使用以下主要参数构建了一个 GNU 工具链:

构建=i686-w64-mingw32

主机=i686-w64-mingw32

目标=x86_64-pc-elf

我使用了 GCC 11.3 、 binutil 2.40 和 newlib 4.3.0

我创建了带有前缀 x86_64-pc-elf-...exe 的执行程序

但是当我尝试在 Eclipse 中使用此工具链构建一个简单的应用程序时

#include <vector>
using namespace std;

int main()
{
    std::vector <int> v;
    return 0;
}

D:\MinGWCompUpdates\msys .0 uild\x86_64-pc-elf_11.3.0_odk\x86_64-pc-elf ewlib\x86_64-pc-elf\x32\pic ewlib/../../../../../../newlib-4.3.0/newlib/libc/stdlib/abort.c:59:对 `_exit' 的未定义引用

D:\MinGWCompUpdates\msys .0 uild\x86_64-pc-elf_11.3.0_odk\x86_64-pc-elf ewlib\x86_64-pc-elf\x32\pic ewlib/../../../../../../newlib-4.3.0/newlib/libc/reent/fstatr.c:55:对“fstat”的未定义引用

D:\MinGWCompUpdates\msys .0 uild\x86_64-pc-elf_11.3.0_odk\x86_64-pc-elf ewlib\x86_64-pc-elf\x32\pic ewlib/../../../../../../newlib-4.3.0/newlib/libc/reent/isattyr.c:52:对 `isatty' 的未定义引用

......

我猜测这是一个静态库问题,在链接阶段当我将优化级别更改为0以外的值时,问题就消失了。

我猜我构建工具链时库函数尚未完全创建。

注意:我已经正确设置了库路径。

我尝试使用我构建的交叉编译器工具链构建一个简单的应用程序。但我遇到了链接器错误。

cross-compiling linker-errors newlib gnu-toolchain
© www.soinside.com 2019 - 2024. All rights reserved.