Powerpc:在Windows下增强跨平台编译

时间:2016-11-28 21:03:02

标签: boost powerpc

我无法使用cygwin在windows下为powerpc603完成boost_1_41_0的构建。

我在windows下运行cygwin,然后在控制台中转到boost_1_41_0的位置。接下来我打电话给./bootstrap.sh -with-toolset = powerpc (当然我已初步将所有必要的行添加到bootstrap.sh和build.sh中,并带有powerpc编译器的路径)

退出并显示以下日志:

###
###Using 'powerpc' toolset.
###

rm -rf bootstrap
mkdir bootstrap
c:/cygwin/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-603e-linux-gnu/bin/powerpc-603e-linux-gnu-gcc.exe -o bootstrap/jam0 command.c compile.c debug.c expand.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c pathvms.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c pwd.c class.c native.c w32_getreg.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c execunix.c fileunix.c
./bootstrap/jam0 -f build.jam --toolset=powerpc --toolset-root=c:/cygwin/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-603e-linux-gnu/powerpc-603e-linux-gnu clean
**./bootstrap/jam0: ./bootstrap/jam0: cannot execute binary file**

我真的看到了文件jam0。 其属性如下:

Class: ELF32
Encoding: **Big endian**
ELFVersion: Executable file
Machine:**PowerPC**
Version:current
Entry...
.... and so on.

所以,中间文件jam0似乎准备好了。现在工具链想要调用它,但是cygwin并不认为它是linux可执行文件(我相信它,因为这个文件是为powerpc603架构编译的,而不是为x86编译)

现在我坚持这个,接下来该怎么办?我知道有些程序员为powerpc构建了增强功能吗?

UPD: 我终于得到了bjam.exe。 现在我试着跟随: 1)将user-config.jam放入以下内容:

using gcc : ppc : c:/cygwin/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc-603e-linux-gnu/powerpc-603e-linux-gnu/bin/g++.exe ; 

2)bjam的命令行,我从windows下的cmd调用:

bjam toolset=gcc-ppc --with-thread --with-system --debug-configuration stage

我得到的结果总是这样:

    ...failed gcc.compile.c++ bin.v2\libs\wave\build\gcc-ppc\release\link-static\threading-multi\cpplexer\re2clex\cpp_re.o...
...skipped <pbin.v2\libs\wave\build\gcc-ppc\release\link-static\threading-multi>libboost_wave-gcc-mt-1_41.lib(clean) for lack of <pbin.v2\libs\wave\bu
ild\gcc-ppc\release\link-static\threading-multi>instantiate_cpp_exprgrammar.o...
...skipped <pbin.v2\libs\wave\build\gcc-ppc\release\link-static\threading-multi>libboost_wave-gcc-mt-1_41.lib for lack of <pbin.v2\libs\wave\build\gcc
-ppc\release\link-static\threading-multi>instantiate_cpp_exprgrammar.o...
...skipped <pstage\lib>libboost_wave-gcc-mt-1_41.lib for lack of <pbin.v2\libs\wave\build\gcc-ppc\release\link-static\threading-multi>libboost_wave-gc
c-mt-1_41.lib...
...skipped <pstage\lib>libboost_date_time-gcc-mt.lib for lack of <pstage\lib>libboost_date_time-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_system-gcc-mt.lib for lack of <pstage\lib>libboost_system-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_filesystem-gcc-mt.lib for lack of <pstage\lib>libboost_filesystem-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_regex-gcc-mt.lib for lack of <pstage\lib>libboost_regex-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_graph-gcc-mt.lib for lack of <pstage\lib>libboost_graph-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_iostreams-gcc-mt.lib for lack of <pstage\lib>libboost_iostreams-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_math_tr1-gcc-mt.lib for lack of <pstage\lib>libboost_math_tr1-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_math_tr1f-gcc-mt.lib for lack of <pstage\lib>libboost_math_tr1f-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_math_tr1l-gcc-mt.lib for lack of <pstage\lib>libboost_math_tr1l-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_math_c99-gcc-mt.lib for lack of <pstage\lib>libboost_math_c99-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_math_c99f-gcc-mt.lib for lack of <pstage\lib>libboost_math_c99f-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_math_c99l-gcc-mt.lib for lack of <pstage\lib>libboost_math_c99l-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_program_options-gcc-mt.lib for lack of <pstage\lib>libboost_program_options-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_serialization-gcc-mt.lib for lack of <pstage\lib>libboost_serialization-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_wserialization-gcc-mt.lib for lack of <pstage\lib>libboost_wserialization-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_signals-gcc-mt.lib for lack of <pstage\lib>libboost_signals-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_prg_exec_monitor-gcc-mt.lib for lack of <pstage\lib>libboost_prg_exec_monitor-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_test_exec_monitor-gcc-mt.lib for lack of <pstage\lib>libboost_test_exec_monitor-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_unit_test_framework-gcc-mt.lib for lack of <pstage\lib>libboost_unit_test_framework-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_thread-gcc-mt.lib for lack of <pstage\lib>libboost_thread-gcc-mt-1_41.lib...
...skipped <pstage\lib>libboost_wave-gcc-mt.lib for lack of <pstage\lib>libboost_wave-gcc-mt-1_41.lib...
...failed updating 231 targets...
...skipped 420 targets...
...updated 89 targets...

gcc.compile.c ++ 失败是大多数文件的事件

毕竟,当然,stage / lib是空的。 接下来该怎么做?

0 个答案:

没有答案