C++ g++;包括freebsd上的路径

C++ g++;包括freebsd上的路径,c++,c++11,gcc,freebsd,C++,C++11,Gcc,Freebsd,我在FreeBSD10.1上安装了gcc49。我正在尝试将其用于C++11开发。但是,每次我编译一些使用特定数学函数的C++11有效代码(是的,我使用-std=C++11)时,它都会抛出错误,例如 error: std::round is not a member of std /usr/include/math.h 例如,这里: #include <cmath> #include <iostream> int main() { std::cout <

我在FreeBSD10.1上安装了gcc49。我正在尝试将其用于C++11开发。但是,每次我编译一些使用特定数学函数的C++11有效代码(是的,我使用
-std=C++11
)时,它都会抛出错误,例如

error: std::round is not a member of std
/usr/include/math.h 
例如,这里:

#include <cmath>
#include <iostream>

int main()
{
    std::cout << std::round(10.1) << std::endl;
}
#包括
#包括
int main()
{

std::cout它在10.1上是开箱即用的,您不需要任何破解。当然,它只适用于-std=c++11,因为std::round仅在11标准之后才可用(请参阅)

$freebsd版本-ku
10.1-发布
10.1-发布
$cat test.cc
#包括
#包括
int main(){

std::你能要求C++11吗?@重复数据消除程序是的,我需要C++11support@mvw,我试过,同样的问题,它似乎无法识别C++11标准的数学部分library@vsoftco
round
不是
std
的成员。请在不使用
std::
的情况下使用它。它可能是一个GCC扩展。它是,因为C++11。对不起,我将我对gcc5有疑问,但我使用了gcc49。我将尝试gcc5。我刚刚使用了最新的stable 10.1/amd64版本(从FreeBSD的网站FreeBSD.org/where.html下载了安装程序映像)在VirtualBox中,使用
pkg install lang/gcc49
安装了g++49。上面的代码没有编译。你是如何安装编译器的?我没有从源代码编译它。我从端口编译所有内容。包可能会被破坏,因为它们是基于10.0构建的。谢谢,我应该编译端口。我使用
pkg-ins快速测试了它很高
,因为我只是想看看我的应用程序在FreeBSD上是否是可移植的,没有问题。你应该在回答中提到你使用了端口,因为使用
pkg安装
似乎不起作用。
$ freebsd-version -ku
10.1-RELEASE
10.1-RELEASE
$ cat test.cc
#include <cmath>
#include <iostream>

int main() {
    std::cout << std::round(10.1) << std::endl;
}
$ g++5 -std=c++11 -o test test.cc
$ ./test
10