我已经从here和(更确切地说)here确认您需要#include<random>
才能使用std::mt19937
,但是当我在CLion中执行此操作时,CLion标记它是红色的,表明它在<bits/random.h>
。那么是哪一个呢?我应该#include
两个人吗?但我认为不推荐使用.h
扩展名的头文件?
顺便说一下,我在CentOS Linux 7.1.1503版上使用了GCC 4.8.3的CLion 1.2.1。
答案 0 :(得分:3)
它是<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
<!-- Here are all the javascripts and css that you need, you can download them or linked them like here -->
<script type="text/javascript" src="d3.js"></script>
<script type="text/javascript" src="c3.js"></script>
<link href="c3.css" rel="stylesheet" type="text/css">
</head>
<body>
<div id="chart"></div>
<script>
var obj2 = ['<?php echo $output; ?>'];
var chart = c3.generate({
bindto: '#chart',
data: {
json: [
obj2
], // or URL
keys: {
// x: 'name', // it's possible to specify 'x' when category axis
value: ['close '],
}
},
axis: {
x: {
// type: 'category'
}
}
});
</script>
</body>
</html>
。
<random>
是GCC特定的实现。仅包含<bits/random.h>
。
CLION通过搜索实际定义的错过的课程来普遍地做到这一点,对于GCC,它是<random>
,这就是为什么它建议包含它。这不是正式的错误,但这是非跨平台甚至非交叉编译器。
答案 1 :(得分:2)
您应该升级GCC(2015年11月的当前版本为GCC 5.2并且它有更好的C ++ 11支持)并将其作为g++ -std=c++11
调用(同时使用{{ 1}}获取所有警告,更多信息和调试信息)当然使用-Wall -Wextra -g
,如文档here所述。
(升级到GCC 5.2可以通过从downloaded源代码编译来完成;如果需要,可以提出其他问题)
如果您只是直接#include <random>
它是特定于实现的(从不自己包含#include <bits/random.h>
内部标题)和IIRC,您将收到错误(或至少一个严重的警告)。
您不需要使用Clion。编译器是GCC。