Pet*_*ike 7 compiler-construction gcc cross-platform
我想构建"gcc交叉编译器"来编译"Linux"环境中的"c/c ++"应用程序,但是用于"Windows"目标.
到目前为止我做到了这一点:
安装了用于构建GCC" 前提条件 "页面上列出的GCC所需的工具和软件包.
下载所需资料来源:
" gcc-core-4.4.1 "," gcc-g ++ - 4.4.1 "," binutils- 2.19.1 "," w32api-3.13-mingw32 "," mingwrt-3.16-mingw32 "
创建了这个目录层次结构:
"$ {HOME}/gcc /" - 用于最终交叉编译器
"$ {HOME}/src /" - 用于源
"$ {HOME}/src/build-binutils/i386-mingw32 /" -用于构建binutils到"i386-mingw32"目标
"$ {HOME}/src/build-gcc/i386-mingw32 /" - 用于构建gcc到"i386-mingw32"目标
建筑binutils包:
cd"$ {HOME}/src/build-binutils/i386-mingw32
/"../../binutils-2.19.1/configure --prefix ="$ {HOME}/gcc"--target = i386-mingw32 --disable-nls
make
make install
将"w32api"和"mingwrt"标头复制到安装目录:
cp -R"$ {HOME} /src/w32api-3.13-mingw32/include""$ {HOME}/gcc/i386-mingw32"
cp -R"$ {HOME} /src/mingwrt-3.16-mingw32/include" "$ {HOME}/GCC/I386-的mingw32"
现在当我尝试构建"c(唯一)交叉编译器"时:
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<br>
Run Code Online (Sandbox Code Playgroud)
它正在构建大约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
Run Code Online (Sandbox Code Playgroud)
从那个错误信息我真的不知道现在该做什么: - (((.
有谁知道问题出在哪里?
谢谢.
F'x*_*F'x 12
这实际上没问题:事情的发展方向,你需要
dllcrt2.o)您已成功执行上述第3步; 它无法构建libgcc(这是一个GCC支持库),但这意味着C编译器核心是功能的(尽管它无法链接,它仍然可以创建有效的目标文件).您可以通过查看gcc/xgccGCC构建目录中的文件来检查它.
所以,你需要进入下一步,不要担心你目前的失败.
(要实现安装部分C编译器,您应该make使用该-k选项运行,以使其尽力而为,即使遇到错误.例如,使用make -k install.)
| 归档时间: |
|
| 查看次数: |
11299 次 |
| 最近记录: |