如何在xcode </bits>中包含<bits stdc ++ =“”>

时间:2015-03-11 18:04:56

标签: c++ xcode macos

我试图在我的c ++代码中包含头文件bits / stdc ++,但似乎编译器不支持它,有没有办法让它工作?

我使用OS X Yosemite 10.10.2和Xcode 6.1.1

12 个答案:

答案 0 :(得分:15)

你可以通过从这里复制stdc ++。h文件来实现: https://gist.github.com/reza-ryte-club/97c39f35dab0c45a5d924dd9e50c445f

然后您可以将文件包含在c ++文件中,如下所示:

 //suppose the file is in your home folder, here my username is reza
 #include "/Users/reza/stdc++.h"

答案 1 :(得分:8)

Mac OS X 10.9+不再使用GCC / libstdc ++,而是使用libc ++和Clang。

在XCode 6.0.1更新之后,标题现在位于此处:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1

所以,从here获取stdc ++。h文件,然后在上面的长地址中创建目录,并将文件 stdc ++。h 复制到目录。

答案 2 :(得分:7)

你做不到。 X-Code使用带有Clang的LLVM工具链作为编译器,而<bits/stdc++>特定于GNU编译器工具链。

其次,你不应该首先使用那个标题,正如其他人所说的那样。

答案 3 :(得分:6)

因为,bits / stdc ++是GNU GCC扩展,而OSX使用clang编译器。

您必须在/ usr / local / include中创建目录,然后在位内创建一个头文件 stdc ++。h 并粘贴{{3}的内容} 在里面。 然后,它应该按预期编译。

因为/ macr目录在Mac OSX上默认隐藏。

  1. 打开Finder。
  2. 点击菜单栏上的开始,然后点击转到文件夹或直接按下Command + Shift + G.
  3. 输入路径/ usr / local / include
  4. 现在按上述步骤进行。

答案 4 :(得分:2)

在将bits / stdc ++。h添加到您的mac os平台之前,首先要弄清楚您的包含文件在哪里。为了弄清哪个包含文件正在您的Mac环境中被利用。

  • 在终端中运行此命令:

    回显“” | gcc -xc--v -E

这将提供您平台中gcc环境的详细信息

Future onSelectNotification(String payload) async {
    Note note = Note.fromRawJson(payload);
    //You can then use your Note object however you want.
    //e.g
    print(note.title);  // Hello
    print(note.description); // This is my first reminder

}
  • 转到包含路径。例如:/ usr / local / include 创建一个bits文件夹并添加stdc++.h文件。

答案 5 :(得分:1)

  1. 将此标头文件的内容从链接https://gist.github.com/reza-ryte-club/97c39f35dab0c45a5d924dd9e50c445f

  2. 复制到剪贴板
  3. 在终端中运行以下命令:

    • mkdir / usr / local / include / bits
    • vim /usr/local/include/bits/stdc++.h
    • 切换到插入模式(按i键)并粘贴剪贴板内容
    • 保存/退出(Esc +:+ w + q + Enter)
  4. 尝试汇编您的源代码

答案 6 :(得分:1)

只需在您的文件目录中创建一个类似于 bitsStdcpp.hpp 文件的头文件, 在该文件中添加以下代码 并使用 #include "bitsStdcpp.hpp" 而不是 #include

#include <stdio.h>

using namespace std;


#ifndef _GLIBCXX_NO_ASSERT
  #include <cassert>
  #endif
  #include <cctype>
  #include <cerrno>
  #include <cfloat>
  #include <ciso646>
  #include <climits>
  #include <clocale>
  #include <cmath>
  #include <csetjmp>
  #include <csignal>
  #include <cstdarg>
  #include <cstddef>
  #include <cstdio>
  #include <cstdlib>
  #include <cstring>
  #include <ctime>

  #if __cplusplus >= 201103L
  #include <ccomplex>
  #include <cfenv>
  #include <cinttypes>
  #include <cstdbool>
  #include <cstdint>
  #include <ctgmath>
  #include <cwchar>
  #include <cwctype>
  #endif

  // C++
  #include <algorithm>
  #include <bitset>
  #include <complex>
  #include <deque>
  #include <exception>
  #include <fstream>
  #include <functional>
  #include <iomanip>
  #include <ios>
  #include <iosfwd>
  #include <iostream>
  #include <istream>
  #include <iterator>
  #include <limits>
  #include <list>
  #include <locale>
  #include <map>
  #include <memory>
  #include <new>
  #include <numeric>
  #include <ostream>
  #include <queue>
  #include <set>
  #include <sstream>
  #include <stack>
  #include <stdexcept>
  #include <streambuf>
  #include <string>
  #include <typeinfo>
  #include <utility>
  #include <valarray>
  #include <vector>

  #if __cplusplus >= 201103L
  #include <array>
  #include <atomic>
  #include <chrono>
  #include <condition_variable>
  #include <forward_list>
  #include <future>
  #include <initializer_list>
  #include <mutex>
  #include <random>
  #include <ratio>
  #include <regex>
  #include <scoped_allocator>
  #include <system_error>
  #include <thread>
  #include <tuple>
  #include <typeindex>
  #include <type_traits>
  #include <unordered_map>
  #include <unordered_set>
  

#endif /* bitsStdcpp_hpp */

答案 7 :(得分:0)

  1. 打开Finder。
  2. 单击菜单栏上的Go,然后单击Go to folder或直接按Command + Shift + G.
  3. 输入路径/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c ++ / v1
  4. 现在,从here获取stdc ++。h文件,然后在上面的长地址中创建位目录,并将文件stdc ++。h复制到bits目录。

答案 8 :(得分:0)

  1. 打开Finder。
  2. 单击菜单栏上的“转到”,然后单击“转到文件夹”或直接按Command + Shift + G。
  3. 输入路径或直接输入/删除此路径
  

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c ++ / v1

  1. 然后在上述长地址中创建bits目录。
  2. 现在,从[这里] [1]获取stdc ++。h文件。
  3. 并将文件stdc ++。h复制到bits目录。

答案 9 :(得分:0)

标准GNU编译器G ++不直接支持此标头,因此我们可以使用以下步骤将其包含在所需的位置:

  1. cd / usr / local / include

  2. mkdir位

  3. nano stdc ++。h

然后从here复制头文件的代码。

希望有帮助! :D

答案 10 :(得分:0)

其他人所说的原因也是因为 Mac OS X 10.9+ 不再使用 GCC/libstdc++,而是使用 libc++ 和 Clang。

因此,解决此问题的另一种方法是将您的默认 mac 编译器从 clang 改为 gcc

正如您在 this image 中看到的,默认的 mac 编译器是 clang

所以,我们在这里可以做的是安装 gcc

步骤 1

运行以下命令安装 gcc(假设您的机器上安装了 homebrew):

$ brew install gcc

步骤 2

安装 gcc 后,通过运行以下命令注意版本

$ gcc --version

步骤 3

所以现在当我们运行 g++-version 时,它将使用 gcc 编译器,但我们希望它在运行 g++ 时使用 gcc 编译器。为此,我们将创建 g++ 到 gcc 的符号链接:

$ cd /usr/local/bin

现在通过运行以下命令创建一个符号链接:

$ ln -s g++-[version] g++

(用您当前安装的版本替换。)

现在重新启动终端以使更改生效并运行 g++ ,它将使用 gcc 编译器。 It should look like this

答案 11 :(得分:-1)

1。从https://gist.github.com/eduarc/6下载stdc ++。h文件。...

2。在Finder中,按CTRL + SHIFT + G并打开/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include /

3。创建文件夹位,然后在此处复制下载的文件。