【发布时间】:2015-08-03 15:02:55
【问题描述】:
我正在尝试在 Xcode 上编译我在 linux 中编写的程序以及我使用的随机函数:
std::random_device seed_device;
std::default_random_engine engine(seed_device());
但 default_random_engine 不会在 Xcode 上编译。我应该使用其他版本吗?
【问题讨论】:
-
你从编译器得到什么样的错误信息?很有可能,当
default_random_engine不起作用时,如果没有一些修复,其他的也不会很好地工作。 -
我用
std::random_device和苹果的clang版本没有问题(更准确地说是苹果LLVM版本6.0(clang-600.0.57)(基于LLVM 3.5svn),它应该是安装了xcode的编译器6.2)。但是,这是 C++11 的功能,您确定选择了 C++11 方言(编辑:和支持 C++11 的标准库)吗? (例如见this) -
我得到的错误是“命名空间'std'中没有名为'random_device'的类型”和“命名空间'std'中没有名为'default_random_engine'的成员”。我如何仔细检查 Xcode 是否使用 C++11?我刚刚更新了所有内容并假设它是。
-
你包括
<random>吗? -
废话,就是这样,谢谢。为什么 linux 中的 g++ 不需要包含它才能工作?
标签: c++ xcode random compiler-errors