簡體   English   中英

使用 Apple 芯片和自制軟件修復 pkg-config

[英]Fixing pkg-config using Apple silicon and homebrew

我在 M1 Mac 上使用 C++,我使用 Time Machine 將舊筆記本電腦的數據獲取到新筆記本電腦上。 舊筆記本電腦不是 Apple 硅 MacBook。 問題是我認為這搞砸了我的自制軟件安裝,因為它將默認位置從/usr/local/Cellar/更改為/opt/homebrew/Cellar/所以現在我有兩個自制軟件版本,因為我再次安裝了它拿到新筆記本電腦后(因為一開始沒有任何東西可以使用自制軟件,並且認為它沒有使用 Time Machine,哎呀)

直到最近我才經常使用自制軟件,所以我沒有注意到,但它使得使用外部庫編譯 C++ 程序變得非常困難,因為我需要的一切都在/opt/homebrew/Cellar/中的新自制軟件安裝中,除了pkg-config ,當我在 bash 腳本或命令行中調用它時,它指向我的舊自制軟件安裝。

例如,我在新安裝的 homebrew 中有pugixml ,當我輸入pkg-config --libs --cflags pugixml

Package pugixml was not found in the pkg-config search path.
Perhaps you should add the directory containing `pugixml.pc'
to the PKG_CONFIG_PATH environment variable
No package 'pugixml' found

pkg-config在舊的自制軟件安裝中找到庫就好了

我唯一的選擇是手動檢查新自制軟件安裝中的.pc文件,並在我的 Makefile 中輸入標志。我不想這樣做。 確保pkg-config正常工作的最佳方法是什么? 如果有人知道如何在命令行中使用新安裝的pkg-config來解決我現在遇到的所有問題

編輯:我忘了提這個 - 當我使用which命令並詢問它輸出的which pkg-config /opt/homebrew/bin/pkg-config時。 這有點令人困惑,因為這是新位置

使用官方卸載腳本刪除舊的(英特爾)安裝。

您必須使用以下命令使其可執行:

chmod +x uninstall.sh

並運行它

./uninstall.sh --path=/usr/local

然后在/opt/homebrew下重新安裝新 M1 版本所需的一切。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM