繁体   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