Can anyone explain the gcc cross-compiler naming convention?

后端 未结 2 1794
星月不相逢
星月不相逢 2020-12-23 11:04

I have tried to understand the naming conventions behind the gcc cross-compilers, but there seems to be conflicting answers. I have the following three cross-compilers in my

相关标签:
2条回答
  • 2020-12-23 11:39

    The naming comes down to this:

    arch-vendor-(os-)abi

    So for example:

    x86_64-w64-mingw32 = x86_64 architecture (=AMD64), w64 (=mingw-w64 as "vendor"), mingw32 (=win32 API as seen by GCC)

    i686-pc-msys = 32-bit (pc=generic name) msys binary

    i686-unknown-linux-gnu = 32-bit GNU/linux

    And your example specifically:

    arm-none-linux-gnueabi = ARM architecture, no vendor, linux OS, and the gnueabi ABI.

    The arm-eabi is alike you say, used for Android native apps.

    One caveat: Debian uses a different naming, just to be difficult, so be careful if you're on a Debian-based system, as they have different names for eg. i686-pc-mingw32.

    0 讨论(0)
  • 2020-12-23 11:49

    The fact is that, there is a rule, and it is the one described above from rubenvb. But in several cases the naming you will find is incorrect, as:

    gcc-pippotron-6.3.1-2017.05-x86_64_arm-linux-gnueabihf
    gcc-pippotron-arm-none-eabi-4.8-2013.11_linux
    

    This maming above are 2 examples that are not respecting the rule.

    0 讨论(0)
提交回复
热议问题