nvcc/CUDA 6.5 & c++11(未来)- gcc 4.4.7

nvcc/CUDA 6.5 & c++11(future) - gcc 4.4.7

当我编译以下包含设计 C++11 的代码时,出现错误 - 它无法编译。我尝试过使用不同的标志,但还没有找到解决方案。

我的设置:CUDA 6.5,gcc 4.4.7 我无法更改设置。 我怎样才能继续工作?

#include <stdio.h>
#include <vector>
#include "KD_tree.h"
#include "KD_tree.cpp"
#include <iostream>
#include <algorithm>
#include <cmath>
#include <future>
#define MYDEVICE 0

using namespace std;


int main()
{
    //do something..... 

    cudaDeviceProp devProp;
    cudaGetDeviceProperties(&devProp, MYDEVICE);
    printDevProp(devProp);
    int max_threads = devProp.warpSize;

   //do something else ... 

    return 0;
}

我试过使用不同的标志进行编译:

nvcc -std=c++11 cudaMain.cu KD_tree.cpp -arch=sm_20 -o tree.out
In file included from cudaMain.cu:14:
simple_kd_tree.h:12:19: warning: extra tokens at end of #include directive
cudaMain.cu:19:18: error: future: No such file or directory


nvcc --std=c++11 cudaMain.cu KD_tree.cpp -arch=sm_20 -o tree.out
In file included from cudaMain.cu:14:
simple_kd_tree.h:12:19: warning: extra tokens at end of #include directive
cudaMain.cu:19:18: error: future: No such file or directory


nvcc --std=c++11 cudaMain.cu KD_tree.cpp -arch=sm_20 -c -o tree.out
nvcc fatal   : A single input file is required for a non-link phase when an outputfile is specified

我必须拆分 C++ 部分吗?我该怎么做呢?

CUDA 7.0 正式加入对C++11 的支持。并且您需要 GCC 4.7 或更高版本才能获得 C++11 支持。 在此处查看详细信息:http://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-compiler-new-features