簡體   English   中英

如何在 macOS Catalina 上編譯 GCC?

[英]How to compile GCC on macOS Catalina?

我正在嘗試在 macOS Catalina 上編譯 GCC9。 我找到的最接近的教程是 這個

該教程指出:

In order to build GCC install the required header files in the old location:

1 cd /Library/Developer/CommandLineTools/Packages/
2 open .

命令 1 不起作用,因為我的文件結構如下:

 - Users/user/Library/Developer/Xcode
 - Users/user/Library/Developer/XCTestDevices
 - /Library/Developer/CommandLineTools/SDKs/
- /Library/Developer/CommandLineTools/Library/

package 目錄不可用。

此外,可以看出,與我的用戶關聯的Library/Developer路徑沒有CommandlineTools ,而直接在Macintosh HD上則有。

我應該從 root /運行上述命令嗎? 或者我的用戶也應該直接使用CommandLineTools

這些是我的 header 文件(Catalina 10.15):

/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

運行sudo find /Library -name stdio.h以查看您的位置。

莫哈韋 10.14 header 文件:

$ sudo find /Library -name stdio.h 
/Library/Developer/CommandLineTools/usr/include/c++/v1/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdio.h
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Kernel.framework/Versions/A/Headers/sys/stdio.h

可以看出,與 Mojave 不同,SDK 現在分為 MACOSX10.14 和 10.15。

TLDR

所以,這些是我在 Catalina 上的 SDK 文件夾:

<img width="208" alt="image" src="https://user-images.githubusercontent.com/31866965/67324292-e49a1e00-f513-11e9-997e-9c49e7badbe5.png">

  1. MacOSX.sdk重命名為MacOSX_orig.sdk
  2. 右鍵單擊MacOSX10.14.sdk
  3. 復制
  4. 將重復文件夾重命名為MacOSX.sdk

您的文件夾結構現在應如下所示:

<img width="195" alt="image" src="https://user-images.githubusercontent.com/31866965/67318914-74d46500-f50c-11e9-879d-ef0cd3e458cc.png">

像這樣我們基本上是使用以前版本的 OSX sdk 作為 sysroot。 希望這可以幫助。

暫無
暫無

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

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