我试图在我的c ++代码中包含头文件bits / stdc ++,但似乎编译器不支持它,有没有办法让它工作?
我使用OS X Yosemite 10.10.2和Xcode 6.1.1
答案 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上默认隐藏。
答案 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
}
答案 5 :(得分:1)
将此标头文件的内容从链接https://gist.github.com/reza-ryte-club/97c39f35dab0c45a5d924dd9e50c445f
在终端中运行以下命令:
尝试汇编您的源代码
答案 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)
现在,从here获取stdc ++。h文件,然后在上面的长地址中创建位目录,并将文件stdc ++。h复制到bits目录。
答案 8 :(得分:0)
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c ++ / v1
答案 9 :(得分:0)
标准GNU编译器G ++不直接支持此标头,因此我们可以使用以下步骤将其包含在所需的位置:
cd / usr / local / include
mkdir位
nano stdc ++。h
然后从here复制头文件的代码。
希望有帮助! :D
答案 10 :(得分:0)
其他人所说的原因也是因为 Mac OS X 10.9+ 不再使用 GCC/libstdc++,而是使用 libc++ 和 Clang。
因此,解决此问题的另一种方法是将您的默认 mac 编译器从 clang
改为 gcc
。
正如您在 this image 中看到的,默认的 mac 编译器是 clang
。
所以,我们在这里可以做的是安装 gcc
!
运行以下命令安装 gcc(假设您的机器上安装了 homebrew):
$ brew install gcc
安装 gcc 后,通过运行以下命令注意版本
$ gcc --version
所以现在当我们运行 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。创建文件夹位,然后在此处复制下载的文件。