ppwwyyxx / OpenPano

Automatic Panorama Stitching From Scratch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Compiled on ARM mac / 在 ARM mac 上编译完的

QilanLin opened this issue · comments

膜拜各位大佬们,小弟不才,在 github 上发现这个 repo 满心欢喜想来使用,结果发现在苹果自研 ARM 架构芯片的 mac 上编译如果用 make -C src 指令会遇到一些问题

  1. 默认编译器用的是 clang, 即使在电脑里根本没有 gcc 的情况下,在 terminal 里用 where gcc 指令查询 gcc,还是会显示 gcc 的路径,当然如果再用 gcc --version 一查就会发现,所谓的 gcc 还是 clang,gcc 的路径可能只是链接到 clang 的软链接。(因为我有装 xcode,不知道是不是因为这个原因引起的)
  2. 如果用 Homebrew 安装了 gcc (给我装的版本是 13), gcc 的路径还是那个假的。在 zshrc 文件中加入 alias gcc='/opt/homebrew/bin/gcc-13', alias g++='/opt/homebrew/bin/g++-13', alias c++='/opt/homebrew/bin/g++-13' 这几行后,再编译,用的还是 clang。。。(版本号、名称和路径可能不一样,请检查,若不一样需替换,下同)
  3. 前两步做完后,输 make -C src CC=gcc CXX=g++ 这种直接指定了 CX, CXX 的命令也没用,用的还是 clang。要输这个命令 make -C src CC=/opt/homebrew/bin/gcc-13 CXX=/opt/homebrew/bin/g++-13把路径也指定了之后才有用。
  4. Makefile 中的 -msse3 是 x86 架构用的,M系列芯片的mac上不支持,去掉即可。用 brew 把 eigen 库和 jpeg 库装完,因为 Homebrew 在 apple 芯片的 mac 里路径不一样, 所以EIGEN3_INCLUDE_DIR ? 要换成 =/opt/homebrew/include/eigen3,INCLUDE_DIR 和 LDFLAGS 也要调整,具体可以看我的 fork,而且包含我已经编译完的,经过测试可以正常使用。里面的 makefile 文件也是我“适配”完的 https://github.com/QilanLin/OpenPano-CompiledOnARMmac

再次膜拜各位大佬们让小弟用上了这个强大的软件