MacOS 上的 Clang 包含问题

2024-01-12

我在 MacOS 上从头开始构建了 Clang,但遇到了问题。

使用以下命令来配置 Clang 进行构建:

cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/opt/clang-12 -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86" -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;lldb" ../llvm

这是我的测试程序:

#include <ostream>
#include <algorithm>

int main(int argc, char** argv) {
return 0;
}
  1. 如果使用 XCode 附带的 Clang 11.0.3 进行编译,则可以clang++ -c test.cc

  2. 如果使用新的 Clang 12(内置),则会出现错误 /opt/clang-12/bin/clang++ -c test.cc

In file included from test.cc:2:
In file included from /opt/clang-12/bin/../include/c++/v1/ostream:138:
In file included from /opt/clang-12/bin/../include/c++/v1/ios:214:
In file included from /opt/clang-12/bin/../include/c++/v1/iosfwd:95:
/opt/clang-12/bin/../include/c++/v1/wchar.h:119:15: fatal error: 'wchar.h' file not found
#include_next <wchar.h>
              ^~~~~~~~~
1 error generated.

根据我试图包含的内容,我会得到不同的包含错误。

➜ tests /opt/clang-12/bin/clang++ -v -c test.cc
clang version 12.0.0 (https://github.com/llvm/llvm-project.git b529c5270c99e0ca18e3cbd9a5f50eb0970e560a)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /opt/clang-12/bin
 (in-process)
 "/opt/clang-12/bin/clang-12" -cc1 -triple x86_64-apple-macosx10.15.0 -Wundef-prefix=TARGET_OS_ -Werror=undef-prefix -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-obj -mrelax-all --mrelax-relocations -disable-free -disable-llvm-verifier -discard-value-names -main-file-name test.cc -mrelocation-model pic -pic-level 2 -mframe-pointer=all -fno-rounding-math -munwind-tables -fcompatibility-qualified-id-block-type-checking -target-cpu penryn -debugger-tuning=lldb -target-linker-version 556.6 -v -resource-dir /opt/clang-12/lib/clang/12.0.0 -stdlib=libc++ -internal-isystem /opt/clang-12/bin/../include/c++/v1 -internal-isystem /usr/include/c++/v1 -internal-isystem /usr/local/include -internal-isystem /opt/clang-12/lib/clang/12.0.0/include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /Users/duddie/Projects/Audio/1voct/1voct_modular/tests -ferror-limit 19 -stack-protector 1 -fblocks -fencode-extended-block-signature -fregister-global-dtors-with-atexit -fgnuc-version=4.2.1 -fcxx-exceptions -fexceptions -fmax-type-align=16 -fcolor-diagnostics -o test.o -x c++ test.cc
clang -cc1 version 12.0.0 based upon LLVM 12.0.0git default target x86_64-apple-darwin19.6.0
ignoring nonexistent directory "/usr/include/c++/v1"
ignoring nonexistent directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/clang-12/bin/../include/c++/v1
 /usr/local/include
 /opt/clang-12/lib/clang/12.0.0/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
In file included from test.cc:2:
In file included from /opt/clang-12/bin/../include/c++/v1/ostream:138:
In file included from /opt/clang-12/bin/../include/c++/v1/ios:214:
In file included from /opt/clang-12/bin/../include/c++/v1/iosfwd:95:
/opt/clang-12/bin/../include/c++/v1/wchar.h:119:15: fatal error: 'wchar.h' file not found
#include_next <wchar.h>
              ^~~~~~~~~
1 error generated.
  1. 如果 Clang 11.0.3 (XCode) 或 Clang 12 但目标为 ARM,则出现错误clang++ -target arm-none-eabi -c test.cc
test.cc:2:10: fatal error: 'ostream' file not found
#include <ostream>
         ^~~~~~~~~
1 error generated.

有什么想法我做错了什么吗?


将以下内容添加到 shell 配置文件中~/.bash_profile or ~/.zsh_profile或任何其他方式设置运行它的 shell 可以访问的环境变量。

export SDKROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"

验证 macOS/Xcode 版本上 SDK 的正确路径。

重新打开终端(获取文件可能无法可靠工作)。 然后再次尝试编译命令。

/opt/clang-12/bin/clang++ -c test.cc

命令行工具包安装 macOS 系统标头 位于 macOS SDK 内。使用已安装的工具编译的软件 将在 Xcode 提供的 macOS SDK 中搜索标头 在:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk或命令行工具:/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk取决于哪个 使用 xcode-select 选择。命令行工具将搜索 默认情况下用于系统标头的 SDK。但有些软件可能无法 针对 SDK 正确构建并要求 macOS 标头 安装在基本系统的 /usr/include 下。如果你是 此类软件的维护者,我们鼓励您更新您的项目 使用 SDK 或针对以下问题提交错误报告 阻止您这样做。作为解决方法,额外的包是 提供的它将安装标头到基本系统。在一个 以后的版本中,将不再提供此包。你可以找到 该包位于:/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

https://developer.apple.com/documentation/xcode-release-notes/xcode-10-release-notes https://developer.apple.com/documentation/xcode-release-notes/xcode-10-release-notes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MacOS 上的 Clang 包含问题 的相关文章

  • 获取两个字符串之间的公共部分c# [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要的是获取两个单词之间的共同部分并获取差异 例子 场景1 word1 感言 word2 Test 将返回 公共部分Test 不同之
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • Xamarin Android:获取内存中的所有进程

    有没有办法读取所有进程 而不仅仅是正在运行的进程 如果我对 Android 的理解正确的话 一次只有一个进程在运行 其他所有进程都被冻结 后台进程被忽略 您可以使用以下代码片段获取当前正在运行的所有 Android 应用程序进程 Activ
  • NSManagedObject 的 Xcode 9 构建问题:Date 与 NSDate

    Xcode 9 生成不同的代码Date模拟器与设备中实体的类型属性 我有codegen功能下Class set to category extension在核心数据中 直到 Xcode 8 3 最新 一切都工作正常 NSDate总是 下面是
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • C# 创建数组的数组

    我正在尝试创建一个将使用重复数据的数组数组 如下所示 int list1 new int 4 1 2 3 4 int list2 new int 4 5 6 7 8 int list3 new int 4 1 3 2 1 int list4
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • OSX 上的 locale.getlocale() 问题

    我需要获取系统区域设置来执行许多操作 最终我想使用 gettext 翻译我的应用程序 我打算在 Linux 和 OSX 上分发它 但我在 OSX Snow Leopard 上遇到了问题 python Python 2 5 2 r252 60
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使

随机推荐

  • C++ const public field 与 getter 方法

    我想为某个类的每个对象添加唯一的 ID 在单个会话内 一种解决方案是使用工厂函数来增加一些静态计数器 一个更简单的解决方案是将此计数器添加到类本身 例如 class fooWithUniqueId public fooWithUniqueI
  • std::mutex 的 constexpr 构造函数是如何实现的?

    在查看 C 参考时std mutex https en cppreference com w cpp thread mutex mutex 我注意到构造函数std mutex被标记constexpr 一开始这很令人惊讶 因为我们通常必须进行
  • HTML5 Web SQL 数据库问题

    我的公司目前正在过渡到新的架构以及为移动设备提供服务的模型 我们的应用程序传统上是基于网络的 HTML5 CSS3 JS PHP MYSQL 所以我们希望能够将其移植到移动平台 而不必重新发明轮子 Cordova 以及以独立方式连接到桌面
  • 聚合物获取纸张输入值

    我使用 Polymer 很短一段时间 现在我想获取纸张输入的值 我不知道我该怎么做 这是行不通的 this form password 我想获取该字段的值
  • 当对象(例如位图)成为孤立对象时,如何处理它?

    我有一个 A 类 为其他 B C 类等提供位图 现在 A 类将其位图保存在环形队列中 因此一段时间后它将失去对该位图的引用 当它仍在队列中时 同一个位图可以由多个类检出 这样 B 和 C 都可以保存对此同一个位图的引用 但也可能发生只有其中
  • adobe media server 4 与亚马逊的费用如何?

    有人尝试过在 Amazon Web 服务上使用 Flash Media Server 4 吗 我想知道您的经验是什么以及运行它的成本 This Adobe 文档 http help adobe com en US flashmediaser
  • Android 上的自签名 SSL 接受

    如何在 Android 上接受 Java 自签名证书 代码示例将是完美的 我在互联网上到处查找 虽然有些人声称找到了解决方案 但它要么不起作用 要么没有示例代码来支持它 我在 ExchangeIt 中具有此功能 它通过 WebDav 连接到
  • R 3.6 的 RDCOM 客户端

    我已经从以下位置下载了该软件包https github com omegahat RDCOMClient https github com omegahat RDCOMClient 并按照说明从本地源安装它 如何从下载的 zip 文件安装包
  • Facebook 应用程序请求对话框未发送请求

    我们有一个使用 Facebook 登录的网站 我们有一个邀请页面 显示用户的 Facebook 好友 然后让我们通过 Facebook 邀请他们 invite container a live click function var link
  • 问题:运行 cuckoo.py 时“OSError:/usr/lib/libyara.so:无法打开共享对象文件:没有这样的文件或目录”

    我已经安装了布谷鸟和所有依赖项 并且还使用虚拟框创建了虚拟机 我收到错误 OSError usr lib libyara so cannot open shared object file No such file or directory
  • 如何在 Java 桌面应用程序中使用 Google Drive?

    我正在处理移动和桌面应用程序 我正在尝试使用 Google Drive 作为永久存储文件夹 不幸的是我很茫然 因为我找不到任何例子 有人可以给我举一个从 Google 云端硬盘存储或检索文件的示例吗 我真的很想看到一个简单的代码示例 或者一
  • 如何在 Visual Studio 2012 中分析单元测试?

    是否有可能profileMSTest 单元测试Visual Studio 2012 旗舰版不使用任何外部分析工具 此功能已在即将发布的 Visual Studio 2012 季度更新 1 中重新添加 在测试资源管理器中右键单击要分析的测试
  • 自定义 ASP.NET SqlMembershipProvider - 处理连接字符串

    我正在创建一个自定义 SqlMembershipProvider 类 以向基类添加一些增强功能 不过 我正在忙于处理连接字符串 如何从配置中读取连接字符串名称并使其可供其余方法使用 现在我有 public override void Ini
  • 使用 JavaScript 基于字符串创建十六进制颜色

    我想创建一个函数来接受任何旧字符串 通常是一个单词 并从中somehow生成一个介于之间的十六进制值 000000 and FFFFFF 所以我可以将它用作 HTML 元素的颜色 甚至可能是一个速记的十六进制值 例如 FFF 如果不那么复杂
  • 使用 Mapbox 过滤掉国家/地区

    是否有可能使用 Mapbox 仅显示德国国家边界和内部数据 我不想展示世界其他地方 Thankx Markus 是的 使用德国 GeoJSONhttp code highcharts com mapdata http code highch
  • android usb UsbDeviceConnection.bulkTransfer 返回 -1

    我正在尝试从 Android 平板电脑向 POS 打印机发送命令 我已经能够使基本连接正常工作 但现在当我尝试将数据发送到打印机时 bulkTransfer 返回 1 请帮助我了解发生了什么事 以下是从 android 站点获取的修改后的广
  • 处理不断变化的模式

    我们是一家游戏公司 将事件 每天最多 1 个千兆事件 存储到 bigquery 事件按月份和应用程序进行分片 以降低查询成本 现在来谈谈我们的问题 我们当前的解决方案支持添加新类型的事件 从而产生新版本的表模式 该版本也已添加到表中 I e
  • 哪个最有效:直接通过 nginx 提供静态文件还是通过 nginx 反向代理通过节点提供静态文件?

    我已经使用了nginx as reverse proxy服务我的node js网络应用程序3000 lt gt 80例如 实际上 我在节点应用程序中提供我的资产 使用express static中间件 我读了一遍又一遍 发现 nginx 提
  • Entity Framework 5 中的 Visual Studio 2010 支持 LocalDB 吗?

    NET 4 0 上的实体框架 5 中的 Visual Studio 2010 是否支持 LocalDB 还是我做错了 使用 LocalDB 的连接字符串实例化模型容器时 出现 找不到网络路径 问题 这是连接字符串 var connectio
  • MacOS 上的 Clang 包含问题

    我在 MacOS 上从头开始构建了 Clang 但遇到了问题 使用以下命令来配置 Clang 进行构建 cmake G Unix Makefiles DCMAKE INSTALL PREFIX opt clang 12 DCMAKE BUI