簡體   English   中英

我需要在 macOS Big Sur 上調用 CSBackupIsItemExcluded(可能來自框架或核心服務)什么?

[英]What do I need to call CSBackupIsItemExcluded (probably from either Frameworks or Core Services) on macOS Big Sur?

在今天更新到 Big Sur 之前,我能夠(在 Mojave 上)命令行編譯/鏈接調用 CSBackupIsItemExcluded 和 CFURLCreateFromFileSystemRepresentation 的 C 程序。

我通過鏈接實現了這一點(在 Mojave 上):

cc cbget.o \
     /System/Library/Frameworks/Carbon.framework/Carbon \
     /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation \
   -o cbget

我記得一兩年前我花了幾天時間才找到這個(並找到/下載文件),現在我不記得我做了什么:((是的,這次我做的筆記更好!)

如果我嘗試上述方法,它會失敗...... Big Sur 上不存在這些文件/目錄。

如果我省略它們,鏈接將失敗(預期):

架構 x86_64 的未定義符號:“_CFURLCreateFromFileSystemRepresentation”,引用自:cbget-b22970.o 中的 _handle_file “_CSBackupIsItemExcluded”,引用自:cbget-b22970.o 中的 _handle_file

我不能依靠 XCode 神奇地找到任何東西......我正在從命令行編譯/鏈接。

我知道 CSBackupIsItemExcluded 仍在操作系統中......因為在 Mojave 下編譯/鏈接的程序版本運行良好(並讓我從命令行切換文件的“不備份”)。

順便說一句,從 Mojave 搬到 Big Sur,我驚訝地發現“/usr/include”消失了,Apple 提供的“cc”神奇地知道要查看:/Applications/Xcode.app/Contents/Developer/Toolchains /XcodeDefault.xctoolchain/usr/include/c++/v1 用於“#include <stdint.h>”之類的內容

感謝您的任何指點! 斯坦

我可以相信 Carbon 框架可能已經消失了(Apple 很久以前就棄用了它),但 CoreFoundation 沒有。 CoreFoundation 是啟動時首先加載的內容之一,許多其他內容都依賴於它。

盡管如此,如果您確實需要 Carbon(並且它仍然存在),那么我認為您想要鏈接:

/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon

而不是:

/System/Library/Frameworks/Carbon.framework/Carbon


CFURLCreateFromFileSystemRepresentation是 CoreFoundation 的一部分。

CSBackupIsItemExcluded是 CoreServices 的一部分,因此請嘗試與之鏈接。

暫無
暫無

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

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