同时在我的.cu文件中包含PCL和CUDA头文件时发生错误

时间:2020-07-21 07:57:22

标签: c++ cuda point-cloud-library

我想在我的.cu文件中包括PCL和CUDA头文件,但是会发生错误。 即使我还没有开始编写代码。

#include "pcl/point_cloud.h"
#include "pcl/point_types.h"
#include "pcl/gpu/containers/device_array.h"

#include "Reconstruction.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include "crt\device_functions.h"

#define __CUDA_INTERNAL_COMPILATION__
#include "math_functions.h"
#undef __CUDA_INTERNAL_COMPILATION__
#include "device_functions.h"

如上所示,如果我同时包含 PCL CUDA 头文件,则会发生错误MSB3721C1060

错误  MSB3721 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe" -gencode=arch=compute_50,code=\"sm_50,compute_50\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64" -x cu  -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include"  -G   --keep-dir x64\Debug -maxrregcount=0  --machine 64 --compile -cudart static  -g   -D_CRT_SECURE_NO_WARNINGS -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Fdx64\Debug\vc141.pdb /FS /Zi /RTC1 /MDd " -o x64\Debug\convolutionSeparable.cu.obj "D:\vc_projects\platerecog\platerecog\platerecog\convolutionSeparable.cu"”已退出,返回代码为 2。    platerecog  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 9.2.targets 712 


错误  C1060   编译器的堆空间不足   platerecog  D:\PCL\pcl-pcl-1.9.1\build\include\pcl\point_types.h    424 

但是如果我包含 PCL 头文件,则代码可以成功编译。 如果我仅包含 CUDA 头文件,则代码也可以成功编译。

0 个答案:

没有答案
相关问题