我想构建“gcc交叉编译器”来编译“Linux”环境中的“c / c”应用程序,但是用于“Windows”目标 .
到目前为止我做到了这一点:
安装了用于构建“Prerequisites for GCC”页面上列出的GCC所需的工具和软件包 .
创建了此目录层次结构:
"$/gcc/" - 用于最终的交叉编译器
"$/src/" - 来源
"$/src/build-binutils/i386-mingw32/" - 用于将binutils构建为"i386-mingw32" target
"$/src/build-gcc/i386-mingw32/" - 用于将gcc构建为"i386-mingw32" target
Builded binutils包:
cd "$/src/build-binutils/i386-mingw32/"
../../binutils-2.19.1/configure --prefix = "$/gcc" --target = i386-mingw32 --disable-nls
使
make install
将“w32api”和“mingwrt”标头复制到安装目录:
cp -R "$/src/w32api-3.13-mingw32/include" "$/gcc/i386-mingw32"
cp -R "$/src/mingwrt-3.16-mingw32/include" "$/gcc/i386-mingw32"
现在,当我尝试构建"c (only) cross-compiler"时:
cd "${HOME}/src/build-gcc/i386-mingw32/"
../../gcc-4.4.1/configure --prefix="${HOME}/gcc" --target=i386-mingw32 --enable-languages=c --with-headers="${HOME}/gcc/i386-mingw32/include" --disable-nls
make
它正在构建大约4分钟的东西然后给我这些错误:
${HOME}/gcc/i386-mingw32/bin/ld: dllcrt2.o: No such file: No such file or directory
collect2: ld returned 1 exit status
make[2]: *** [libgcc_s.dll] Error 1
make[2]: Leaving directory `${HOME}/src/build-gcc/i386-mingw32/i386-mingw32/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `${HOME}/src/build-gcc/i386-mingw32'
make: *** [all] Error 2
从那个错误信息我真的不知道现在该做什么: - ((( .
有谁知道问题出在哪里?
谢谢 .