用户
 找回密码
 立即注册
alex_xu 该用户已被删除
发表于 2013-4-7 16:13:00
21714
        我自redhat 中安装了CUDA5.0 进入sample目录下make 报错了,然后我进入deviceQuery 中make 没有报错 运行./deviceQuery 程序出结果 但是我用nvcc命令编译源文件的时候却出现了错误 错误提示是: 缺少helper_cuda.h和helper_function.h这两个头文件 我又用nvcc编译自己写cuda小程序 编译通过 程序运行正确,请问为什么会缺少头文件啊 这些头文件如何才能添加?
使用道具 举报 回复
发表于 2013-4-7 22:32:51
1.你进入sample目录make报错,可能是因为你对该目录没有写权限。这发生在你用root权限安装的CUDA5.0,安装目录权限是root,其他用户不能写。你可以尝试用root权限make,可能会成功。
2.你自己用nvcc编译源文件的时候,要在编译选项中加入需要链接的库的路径。(这个make中写了,所以你make不报错,但是你自己编译的时候没有写)
3.一般自己写的程序不会乱掉help类库,所以不会出现此问题。
使用道具 举报 回复 支持 反对
发表于 2013-4-8 19:59:19
yixi 发表于 2013-4-7 22:32
1.你进入sample目录make报错,可能是因为你对该目录没有写权限。这发生在你用root权限安装的CUDA5.0,安装目 ...

我确实是用root权限操作的 从头到尾都没有用用户啊  那个设置环境变量的时候不是把库函数包括了吗 麻烦能否说下 nvcc 编译的时候是如何链接库的 最好写个具体的例子 另外就是我自己查看了include目录也没有发现这些缺少的头文件啊
使用道具 举报 回复 支持 反对
发表于 2013-4-10 12:44:13
alex_xu 发表于 2013-4-8 19:59
我确实是用root权限操作的 从头到尾都没有用用户啊  那个设置环境变量的时候不是把库函数包括了吗 麻烦能 ...

1.如果你是管理员权限,那make报错,没有具体信息,我也无法猜测原因。
2.一般nvcc编译文件写法:
nvcc   -I${include_path} -L${Dynamic_library_path}  -l${dynamic_library_name} filename
(建议你nvcc --help查看下,里面有详细说明;或者根据sample中的makefile文件学习)
3.helper类的库本身不属于cuda的一部分,所以不再cuda核心库里面。一般自己变成也不建议使用。如果你想找到他们,可以find ${cuda_path} -name  helper_chda.h。
(另外:您的很多问题,是本身linux的基本问题,其实不属于cuda范畴的)
使用道具 举报 回复 支持 反对
发表于 2013-4-11 20:48:43
yixi 发表于 2013-4-10 12:44
1.如果你是管理员权限,那make报错,没有具体信息,我也无法猜测原因。
2.一般nvcc编译文件写法:
nvcc   ...

非常感谢 那些头文件原来在samples/common/inc目录下  我讲目录里的文件 拷贝到 include里面 再次编译 deviceQuery的源文件  编译通过 结果正确   非常感谢
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册