macos 上这段程序应该链接什么库

发布于 2022-09-12 01:02:50 字数 1914 浏览 15 评论 0


#include <iostream>
#include <stdio.h>
#include <CoreServices/CoreServices.h>

int main()
{
    CSIdentityQueryRef query = CSIdentityQueryCreateForCurrentUser(kCFAllocatorSystemDefault);
    CFErrorRef error;
    uint8 qdata[1024] = {0};
    if (CSIdentityQueryExecute(query, kCSIdentityQueryGenerateUpdateEvents, &error))
    {
        CFArrayRef foundIds = CSIdentityQueryCopyResults(query);
        if (CFArrayGetCount(foundIds) == 1)
        {
            CSIdentityRef userId = (CSIdentityRef) CFArrayGetValueAtIndex(foundIds, 0);
            CFDataRef data = CSIdentityGetImageData(userId);
            CFDataGetBytes(data, CFRangeMake(0, CFDataGetLength(data)), qdata);
        }
    }
    CFRelease(query);
}

这段代码是获取当前用户的头像路径。

我用 g++ 编译的时候报错,

ethson@macbookpro:~/Project/cpp_example$ g++ ./example.cpp -o exam
Undefined symbols for architecture x86_64:
  "_CFArrayGetCount", referenced from:
      _main in example-7e578a.o
  "_CFArrayGetValueAtIndex", referenced from:
      _main in example-7e578a.o
  "_CFDataGetBytes", referenced from:
      _main in example-7e578a.o
  "_CFDataGetLength", referenced from:
      _main in example-7e578a.o
  "_CFRelease", referenced from:
      _main in example-7e578a.o
  "_CSIdentityGetImageData", referenced from:
      _main in example-7e578a.o
  "_CSIdentityQueryCopyResults", referenced from:
      _main in example-7e578a.o
  "_CSIdentityQueryCreateForCurrentUser", referenced from:
      _main in example-7e578a.o
  "_CSIdentityQueryExecute", referenced from:
      _main in example-7e578a.o
  "_kCFAllocatorSystemDefault", referenced from:
      _main in example-7e578a.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我猜测是没有链接系统库造成的,但是我查了一圈,也没找到应该链接哪个库,求指教。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

〆凄凉。 2022-09-19 01:02:50
g++ ./example.cpp -o exam -framework CoreServices
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文