我最初在试图编译包含<algorithm>
的代码时询问了一个错误,但通过添加一个标志-std=c++14
(如nvcc -std=c++14 test1.cu
)解决了这个问题。
#include <algorithm>
#include <thrust/extrema.h> // code compiles without this
int main(){
return 0;
}
字符串
错误消息为
/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
435 | function(_Functor&& __f)
| ^
/usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’
/usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’:
530 | operator=(_Functor&& __f)
| ^
/usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’
型
这是怎么了?
我使用这些版本。
- Ubuntu 22.04.1 LTS
- Cuda编译工具,版本11.5,V11.5.119
- gcc(Ubuntu 11.3.0-1ubuntu1~22.04)11.3.0
- g++(Ubuntu 9.5.0-1ubuntu1~22.04)11.3.0
2条答案
按热度按时间vu8f3i0k1#
正如评论中指出的那样,这是CUDA特定版本的错误。这些版本的组合解决了这个问题。
xn1cxnb42#
我在这些版本中遇到了同样的问题
字符串
更新到nvcc 11.8后,问题得到解决。