64位系统交叉编译32位arm程序

编译环境:Ubuntu 16.04 X86 64位

运行环境:Debian Armv7l 32位

  1. 配置32位交叉编译环境
  2. 安装multilib
    sudo apt-get install gcc-multilib g++-multilib

    CmakeList.txt设置CFLAGS(或者CXXFLAGS)为-m32或者-m64

    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
    //或者
    add_compile_options(-m32)
  3. 安装 lib32stdc++6和lib32z1
    sudo apt-get install lib32stdc++6
    sudo apt-get install lib32z1