无法将 Omnet++ 安装到 M1 Big Sur
Can not install Omnetpp to M1 Big Surr
我无法将 OMNET++ 安装到我的 m1 Mac 因为 configure
脚本无法安装 qt 库。
我遇到了这个经典错误:
configure: error: Cannot build Qt apps, probably due to missing or too old Qt packages. Make sure Qt development packages are installed and newer than Qt 5.4. You can disable Qtenv by setting the WITH_QTENV variable to "no" in configure.user.
通常 OMNET++ 附带了自己的 QT5 库,但由于某些原因它无法检测到这些库。
所以我尝试了:
- 使用
brew install qt
并将其添加到路径
- 手动下载qt5并添加到路径
source setenv
从 zsh 然后 ./configure
. setenv
从 bash 然后 ./configure
这些都不起作用,所以我检查了 config.log
以获取更多详细信息。其中显示
ld: library not found for -lQt5Gui
然后我用 configure
脚本中的代码更改了行,在第 4721 行
QT_LIBS=${QT_LIBS:-"-lQt5Gui -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL $LDFLAG_LIBPATH$QT_INSTALL_LIBS -Wl,-rpath=$QT_INSTALL_LIBS"}
为此,只需更改第一个库即可。
QT_LIBS=${QT_LIBS:-"-L/opt/homebrew/Cellar/qt/5.15.2/lib -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL $LDFLAG_LIBPATH$QT_INSTALL_LIBS -Wl,-rpath=$QT_INSTALL_LIBS"}
然后它为 Qt5Core
Qt5Widgets
Qt5PrintSupport
Qt5OpenGL
给出了类似的错误,所以我删除了它们并添加了 frameworks 文件夹。最后我实现了这个:
QT_LIBS=${QT_LIBS:-"-L/opt/homebrew/Cellar/qt/5.15.2/lib -L/opt/homebrew/Cellar/qt/5.15.2/Frameworks $LDFLAG_LIBPATH$QT_INSTALL_LIBS -Wl, -rpath=$QT_INSTALL_LIBS"}
仍然给我同样的错误。我卡住了。
目前,您应该 运行 omnet 在 x86 仿真模式下。开始 shell window 与:
arch -x86_64 /bin/zsh --login
然后从那里配置和构建 OMNeT++。你必须 运行 那个 shell 的所有内容。
我无法将 OMNET++ 安装到我的 m1 Mac 因为 configure
脚本无法安装 qt 库。
我遇到了这个经典错误:
configure: error: Cannot build Qt apps, probably due to missing or too old Qt packages. Make sure Qt development packages are installed and newer than Qt 5.4. You can disable Qtenv by setting the WITH_QTENV variable to "no" in configure.user.
通常 OMNET++ 附带了自己的 QT5 库,但由于某些原因它无法检测到这些库。
所以我尝试了:
- 使用
brew install qt
并将其添加到路径 - 手动下载qt5并添加到路径
source setenv
从 zsh 然后./configure
. setenv
从 bash 然后./configure
这些都不起作用,所以我检查了 config.log
以获取更多详细信息。其中显示
ld: library not found for -lQt5Gui
然后我用 configure
脚本中的代码更改了行,在第 4721 行
QT_LIBS=${QT_LIBS:-"-lQt5Gui -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL $LDFLAG_LIBPATH$QT_INSTALL_LIBS -Wl,-rpath=$QT_INSTALL_LIBS"}
为此,只需更改第一个库即可。
QT_LIBS=${QT_LIBS:-"-L/opt/homebrew/Cellar/qt/5.15.2/lib -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL $LDFLAG_LIBPATH$QT_INSTALL_LIBS -Wl,-rpath=$QT_INSTALL_LIBS"}
然后它为 Qt5Core
Qt5Widgets
Qt5PrintSupport
Qt5OpenGL
给出了类似的错误,所以我删除了它们并添加了 frameworks 文件夹。最后我实现了这个:
QT_LIBS=${QT_LIBS:-"-L/opt/homebrew/Cellar/qt/5.15.2/lib -L/opt/homebrew/Cellar/qt/5.15.2/Frameworks $LDFLAG_LIBPATH$QT_INSTALL_LIBS -Wl, -rpath=$QT_INSTALL_LIBS"}
仍然给我同样的错误。我卡住了。
目前,您应该 运行 omnet 在 x86 仿真模式下。开始 shell window 与:
arch -x86_64 /bin/zsh --login
然后从那里配置和构建 OMNeT++。你必须 运行 那个 shell 的所有内容。