开发者社区 > 云原生 > 中间件 > 正文

想在M2 MacBook 上编译x86_64架构的tengine,configure时加哪个参数?

如果想在M2 MacBook 上编译x86_64架构的tengine,configure时加哪个参数呀?

展开
收起
三分钟热度的鱼 2024-01-10 14:08:43 356 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要在M1 Mac上编译x86_64架构的tengine,您需要首先安装x86_64编译工具链。具体步骤如下:

    1. 安装x86-64编译工具链:在终端输入以下命令进行安装。

      brew install x86_64-elf-gcc x86_64-elf-gdb
      

      这个命令会同时安装x86_64-elf-gcc、x86_64-elf-binutils和x86_64-elf-gdb三个工具。

    2. 配置tengine:在configure命令后面添加--host=x86_64-apple-darwin参数,然后再运行makemake install命令来进行编译和安装。

    需要注意的是,虽然M1 Mac使用的是ARM处理器,但它仍然支持x86_64架构的编译。然而,由于M1芯片与x86_64架构存在一些不兼容的情况,因此在编译过程中可能会遇到一些问题。

    2024-01-13 15:41:45
    赞同 展开评论 打赏
  • 要在M2 MacBook上编译x86_64架构的Tengine,你需要使用交叉编译的方式,因为M2 MacBook采用的是Apple Silicon(ARM64)架构,而x86_64架构是针对Intel处理器的。交叉编译是指在一个平台上编译出可以在另一个平台上运行的代码。

    为了在Apple Silicon上编译出x86_64架构的Tengine,你需要在运行cmake./configure时添加特定的参数来指定目标架构。具体来说,你可以添加-target参数,后跟目标架构的名称,例如x86_64-apple-darwin

    例如,编译命令可能会像这样:

    cmake .. -DCMAKE_OSX_ARCHITECTURES=x86_64
    make -j4 && make install
    

    这里,-DCMAKE_OSX_ARCHITECTURES=x86_64告诉CMake你想要编译的目标架构。

    然而,需要注意的是,即使你在Apple Silicon上成功编译了x86_64版本的Tengine,除非你的MacBook安装了Rosetta 2,否则直接在Apple Silicon上运行x86_64的应用程序可能会遇到问题。Rosetta 2是一个动态二进制翻译器,它允许ARM64 Mac运行x86_64应用程序。

    如果你只是想在Apple Silicon上开发并测试x86_64版本的Tengine,你可以使用QEMU等虚拟化工具来创建一个x86_64环境的模拟。这样,你可以在模拟的环境中编译和测试Tengine,而不需要在实际的x86_64机器上。

    总结来说,要在M2 MacBook上编译x86_64架构的Tengine,你需要使用交叉编译的方法,并在编译时指定目标架构。如果你想要在Apple Silicon上运行编译后的程序,你可能需要借助Rosetta 2或者使用QEMU等虚拟化工具。

    2024-01-13 09:28:37
    赞同 展开评论 打赏
  • mac x86_64 与 在linux x86_64 应该本质没区别。开源版本 也支持 arm的

    https://github.com/alibaba/tengine-ingress

    可以参考 https://github.com/alibaba/tengine-ingress/blob/master/images/tengine/rootfs/build.sh

    ${ARCH} 此回答整理自钉群“Tengine和Tengine-Ingress开源交流群”

    2024-01-10 16:55:20
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
MaxCompute架构升级及开放性解读 立即下载
MaxCompute Serverless 架构演进 立即下载
阿里云消息队列的 Serverless架构演进 立即下载