【发布时间】:2022-01-07 20:32:00
【问题描述】:
我正在尝试在 C++ 中的委托构造函数上运行 an example from Microsoft Docs。对于像这样的少量代码,我喜欢使用 VS Code,但是当我在终端中使用常用的make 命令时,我得到了错误,
error: delegating constructors are permitted only in C++11
当我在 Xcode 中运行相同的代码时,我没有收到此错误。
为什么我不能在终端中运行它?我的 Xcode 东西(包括命令行工具)是最新的,所以我还缺少其他东西吗?
编辑
如果我在终端输入g++ --version,
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 13.0.0 (clang-1300.0.29.30)
Target: x86_64-apple-darwin21.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
【问题讨论】:
-
在提出这样的问题时,您绝对需要包含诸如如何编译代码之类的信息。我们不知道“通常的 make 命令”是什么——或者更具体地说,在这种情况下,您传递给编译器的标志是什么。在这种情况下这是可以猜测的,但通常在提出问题时尽可能多地包含相关信息(显然不是几页上下文,但在出现意外编译错误时,有问题的代码和有关编译方式的确切细节至关重要)。
-
抱歉,@Cubic 在编译方面我还是个菜鸟。我以前不必编写自己的makefile。通常我在编译短程序时只使用
make而不使用makefile as recommended here -
你不需要为不知道什么而道歉,但是例如,如果你在编译一个文件时输入
make something而不使用 Makefile,你只需准确地说这就是你正在做的事情。在这种情况下,您可能没有意识到,但make是一个完整的构建系统,并且基本上可以根据其配置方式完成任何事情,因此仅说您使用make并不是很有帮助靠自己。 -
会做的,谢谢,非常感谢您的帮助和反馈