error MSB3721......已退出,返回代码为 2。及头文件使用问题

刚开始用这个不会用~想问问大神。
在cuda by example这本书里的例子:

#include
#include “book.h”
global void add( int a, int b, int *c ){
c=a+b;
}
int main( void ){
int c;
int dev_c;
HANDLE_ERROR( cudaMalloc((void
)&dev_c, sizeof(int)));
add<<<1,1>>>(2,7,dev_c);
HANDLE_ERROR( cudaMemcpy( &c,
dev_c,
sizeof(int),
cudaMemcpyDeviceToHost));
printf( “2+7= %d\n”,c );
cudaFree( dev_c );
return 0;
}

错误有
1>------ 已启动生成: 项目: 12.11, 配置: Debug Win32 ------
1>生成启动时间为 2013/11/21 16:21:22。
1>InitializeBuildStatus:
1> 正在对“Debug\12.11.unsuccessfulbuild”执行 Touch 任务。
1>AddCudaCompileDeps:
1>正在跳过目标“AddCudaCompileDeps”,因为所有输出文件相对于输入文件而言都是最新的。
1>AddCudaCompilePropsDeps:
1>正在跳过目标“AddCudaCompilePropsDeps”,因为所有输出文件相对于输入文件而言都是最新的。
1>CudaBuild:
1> Compiling CUDA source file kernel.cu…
1>
1> G:\CUDA\code\12.11.21\12.11.21>“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin\nvcc.exe” -gencode=arch=compute_10,code="sm_10,compute_10" --use-local-env --cl-version 2010 -ccbin “D:\Program Files\Microsoft Visual Studio 10.0\VC\bin” -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include" -G --keep-dir Debug -maxrregcount=0 --machine 32 --compile -cudart static -g -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd " -o Debug\kernel.cu.obj “G:\CUDA\code\12.11.21\12.11.21\kernel.cu”
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(870): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(1846): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(2747): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(3698): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(4610): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(5501): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(6407): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\math_functions.h(7316): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_functions.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_functions.h(783): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\device_functions.h(1659): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\program files\nvidia gpu computing toolkit\cuda\v5.5\include\sm_13_double_functions.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失

1>G:/CUDA/code/12.11.21/12.11.21/kernel.cu(2): fatal error C1083: 无法打开包括文件:“book.h”: No such file or directory
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 5.5.targets(592,9): error MSB3721: 命令““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\bin\nvcc.exe” -gencode=arch=compute_10,code="sm_10,compute_10" --use-local-env --cl-version 2010 -ccbin “D:\Program Files\Microsoft Visual Studio 10.0\VC\bin” -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.5\include" -G --keep-dir Debug -maxrregcount=0 --machine 32 --compile -cudart static -g -DWIN32 -D_DEBUG -D_CONSOLE -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MDd " -o Debug\kernel.cu.obj “G:\CUDA\code\12.11.21\12.11.21\kernel.cu””已退出,返回代码为 2。
1>
1>生成失败。
1>
1>已用时间 00:00:00.80
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

关于boo.h无法打开,我也不知道原因。我下载了cuda_by_example然后把book.h放过去了,在C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.5\common\inc\book.h里面。
关于 error MSB3721…已退出,返回代码为 2是什么就更加不明白了…

编译出错的原因已经很明白了,找不到头文件.

请将你自己的book.h所在的目录加入到你的项目的additional include directory里面(通过在您的项目属性中设置, 用鼠标右键点击,选择属性即可看到).

将这目录加入到你的项目的include搜索路径后, 请重新编译.

谢谢大神,编译已经通过:lol
虽然没找到项目属性,但是确实是Book.h加错地方了,今天加到Include里面就编译啦