Closed chf007 closed 2 years ago
Mac 系统中自带有 BISON 和 FLEX,但有时候版本比较低,且受系统安全机制保护(可以通过安全模式替换,但比较麻烦),在编译工具中无法切换用户自行更新的更高版本,例如 cmake 一直使用 /usr/bin/bison (v2.3), 用户自已更新的在 /usr/local/opt/bison/bin (v3.x) 且加到 $PATH 或 使用 export LDFLAGS="-L/usr/local/opt/bison/lib" 也无法切换 bison 的版本,导致编译失败。
/usr/bin/bison
/usr/local/opt/bison/bin
export LDFLAGS="-L/usr/local/opt/bison/lib"
该 pr 可以使用 brew --prefix 命令预先查出实际使用的 bison 可执行文件地址,解决一些 Mac 系统中的默认编译问题。
brew --prefix
对于不使用 brew 的用户,后续建议增加可以指定 bison 可执行文件地址的 cmake 参数。
多谢多谢!这是一个很好的临时解决方案。未来可添加上您提到的 cmake 选项。
cmake
Mac 系统中自带有 BISON 和 FLEX,但有时候版本比较低,且受系统安全机制保护(可以通过安全模式替换,但比较麻烦),在编译工具中无法切换用户自行更新的更高版本,例如 cmake 一直使用
/usr/bin/bison
(v2.3), 用户自已更新的在/usr/local/opt/bison/bin
(v3.x) 且加到 $PATH 或 使用export LDFLAGS="-L/usr/local/opt/bison/lib"
也无法切换 bison 的版本,导致编译失败。该 pr 可以使用
brew --prefix
命令预先查出实际使用的 bison 可执行文件地址,解决一些 Mac 系统中的默认编译问题。对于不使用 brew 的用户,后续建议增加可以指定 bison 可执行文件地址的 cmake 参数。