Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ libstdc++;。因此,6与cuda有关_C++_Cuda_Libstdc++ - Fatal编程技术网

C++ libstdc++;。因此,6与cuda有关

C++ libstdc++;。因此,6与cuda有关,c++,cuda,libstdc++,C++,Cuda,Libstdc++,今天我在链接我编译的cuda资料时遇到了一个问题 我有一个最新的debian测试w/2.6.32-3-amd64 我整天都在写代码。不时编译。 没有问题。但在一次小的代码更改后,我出现了以下错误: gcc -o pa CUDA.o histogram256.o histogram64.o main.o -lrt -lm -lcudart -I. -I/data/cuda/include -I/data/cuda/C/common/inc -L/data/cuda/lib64 /usr

今天我在链接我编译的cuda资料时遇到了一个问题

我有一个最新的debian测试w/2.6.32-3-amd64

我整天都在写代码。不时编译。 没有问题。但在一次小的代码更改后,我出现了以下错误:

gcc -o pa  CUDA.o  histogram256.o  histogram64.o  main.o  -lrt -lm -lcudart  -I. -I/data/cuda/include -I/data/cuda/C/common/inc -L/data/cuda/lib64
/usr/bin/ld: main.o: undefined reference to symbol 'std::basic_ifstream<char, std::char_traits<char> >::close()@@GLIBCXX_3.4'
/usr/bin/ld: note: 'std::basic_ifstream<char, std::char_traits<char> >::close()@@GLIBCXX_3.4' is defined in DSO /usr/lib64/libstdc++.so.6 so try adding it to the linker command line
/usr/lib64/libstdc++.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
希望有人能提出好的建议。

添加

-L/usr/lib64 -lstdc++

我的makefile/commandlineparameters修复了它。

您也可以使用g++而不是gcc。这将自动链接到stdc++而无需显式指定它


您确定您的环境没有任何变化吗?如果您在恢复到旧代码后仍然看到问题,那么您的代码不太可能导致这种情况。不幸的是,我非常确定。我唯一改变的是代码。现在是问的好时机,有没有其他人(有管理员权限)使用这台机器?无论如何,修复方法是使用-L/usr/lib64-lstdc++。看起来debian的更新可能已经完成了。我是唯一一个。谢谢你,这解决了我的问题。
-L/usr/lib64 -lstdc++