Boost库交叉编译的问题

时间:2019-05-17 06:31:32

标签: linux boost cross-compiling

我试图交叉编译Boost,但最终出现以下错误。

我已完成以下步骤:

  1. 解压缩boost_1_68_0.tar.bz2
  2. 已执行的引导程序
  3. 使用

    编辑的user-config.jam
    gcc:arm:arm-fslc-linux-gnueabi-g++
    
  4. 已执行./b2 --prefix=install toolset=gcc-arm --user-config=./user-config.jam
  5. 还被判处./bjam --prefix=install toolset=gcc-arm --user-config=./user-config.jam

但是我最终遇到以下错误:

    "arm-fslc-linux-gnueabi-g++"   -fPIC -pthread -O3 -finline-functions -Wno-inline -Wall  -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DNDEBUG  -I"." -c -o "bin.v2/libs/wave/build/gcc-arm/release/threading-multi/cpplexer/re2clex/aq.o" "libs/wave/src/cpplexer/re2clex/aq.cpp"

...failed gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/threading-multi/cpplexer/re2clex/aq.o...
gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/threading-multi/cpplexer/re2clex/cpp_re.o
libs/wave/src/cpplexer/re2clex/cpp_re.cpp:20:10: fatal error: ctime: No such file or directory
 #include <ctime>
          ^~~~~~~
compilation terminated.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

有很多这样的错误。

1 个答案:

答案 0 :(得分:0)

问题出在sysroot。我们还必须通过编译器传递sysroot:

gcc : arm : arm-fslc-linux-gnueabi-g++ -march=armv7-a -mthumb -mfpu=neon -mfloat-abi=hard --sysroot=/opt/iotgw-sdk-prod/sysroots/armv7at2hf-neon-fslc-linux-gnueabi

注意:空格应为制表符,而不是空格。