[英]CUDA 6.5 with g++ does not support c++11?
我在這里讀到CUDA 6.5已開始支持C ++ 11:
https://groups.google.com/forum/#!topic/thrust-users/R37GIkMG4tk
但是當我在下面編譯示例代碼時,我得到了
$ nvcc -std = c ++ 11 cu-gcc11.cu -o測試
nvcc警告:已配置的主機編譯器不支持-c ++ 11標志。 標志將被忽略。
cu-gcc11.cu(7):錯誤:缺少顯式類型(假定為“ int”)
我的設置:CUDA 6.5,g ++ 4.5,ubuntu 12.04
代碼:
#include <cuda.h>
#include <iostream>
__host__ void test() {
float a = 12.;
double b = 3.;
auto c = a * b;
std::cout << c << std::endl;
}
int main()
{
test();
return 0;
}
nvcc中的C ++ 11支持目前處於試驗階段。 為了正確使用它,您將需要適當的配置。 這在AFAIK的任何地方都沒有記錄,但是使用Fedora 20或Ubuntu 14.04都應具有良好的效果,這兩種都是cuda 6.5支持的配置,包括GCC4.8.x。
在您的情況下,您的GCC版本太舊了。
我認為-std=c++11
在GCC 4.5中不可用。 試試-std=c++0x
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.