在很多項(xiàng)目的編譯中需要使用 Bison,而且版本需要至少為 3.0,不然會(huì)出現(xiàn)以下錯(cuò)誤。
Could NOT find BISON: Found unsuitable version "2.3", but required is at
least "3.0" (found /usr/bin/bison)
這時(shí)候你可能使用brew install bison
安裝了最新版的 Bison,但是還是會(huì)有這個(gè)問(wèn)題。
解決這個(gè)問(wèn)題有兩種方案:
- 讓手動(dòng)安裝版本在環(huán)境變量
PATH
的位置在 Xcode 安裝的版本前面; - 手動(dòng)指定一下 Bison。
不敢在解決方案之前,你要知道brew
安裝bison
的路徑,可以通過(guò)以下命令查詢:
$ brew info bison
......
If you need to have bison first in your PATH, run:
echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> /Users/zhonguncle/.bash_profile
......
可以看到這樣的語(yǔ)句,就知道位置了。
第一種方法使用以下語(yǔ)句來(lái)添加bison
:
export PATH="/usr/local/opt/bison/bin/:$PATH"
這樣會(huì)把/usr/local/opt/bison/bin
(brew
安裝的一般就在這個(gè)路徑)放到PATH
最前面,這樣 SHELL 搜索bison
的時(shí)候會(huì)先搜索到這個(gè)新的。這也是為什么brew
會(huì)提示這樣的命令。
第二種方法是在cmake
或make
構(gòu)建項(xiàng)目的時(shí)候直接設(shè)置bison
的路徑。
如果是make
,那么可以使用以下語(yǔ)句來(lái)構(gòu)建:
$ make BISON=/usr/local/opt/bison/bin/bison
如果是cmake
,那么可以在CMakeLists.txt
中添加以下語(yǔ)句:
set(BISON_EXECUTABLE "/usr/local/opt/bison/bin/bison")
或者設(shè)置環(huán)境變量,再讓cmake
進(jìn)行構(gòu)建(如果這個(gè)項(xiàng)目不是你的,那么用這種方法比較好):文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-703029.html
$ export BISON_EXECUTABLE="/usr/local/opt/bison/bin/bison"
$ cmake ..
這樣就可以正常構(gòu)建了。希望能幫到有需要的人~文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-703029.html
到了這里,關(guān)于如何在macOS上使用最新版的Bison來(lái)構(gòu)建項(xiàng)目,而不是Xcode工具鏈內(nèi)嵌的2.3版本的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!