用户
 找回密码
 立即注册
snake3342 该用户已被删除
发表于 2013-9-11 06:38:44
107567
错误 1036 error : Undefined reference to '_ZTVSd__St13basic_fstreamIcSt11char_traitsIcEE' in 'Release/reading_data_into_aligned_ram.cu.obj' F:\temp\MA_strategy\MA_strategy\

nvlink

求指教,到底是怎么回事……

我已经上网搜索过,据说好像是跟动态并行有关系,但是我这个函数里面根本没有动态并行的代码。所以不知道为什么。
使用道具 举报 回复
发表于 2013-9-11 10:04:22
LZ您好:

请问是否已经连附加了合适的库文件?
使用道具 举报 回复 支持 反对
发表于 2013-9-11 12:51:18
楼主您好:

请您全部关闭所有.cu上的-rdc=true选项,或者全部打开。
但不要部分几个文件上打开此编译选项,而另外一部分文件关闭。
此问题往往就在您部分打开,部分关闭的时候出现。

请尝试此建议并反馈结果(根据您的楼主位描述,建议您全部关闭)
感谢来访。
使用道具 举报 回复 支持 反对
发表于 2013-9-11 22:06:14
横扫千军 发表于 2013-9-11 12:51
楼主您好:

请您全部关闭所有.cu上的-rdc=true选项,或者全部打开。


尝试了,然后清理了项目,重新生成和链接,现在又在另外一个函数上报其他错。

错误        117        error : Unresolved extern function '_Z21float_rounding_to_intf'        E:\MA_strategy\MA_strategy\ptxas        MA_strategy


又是ptxas的错了。
使用道具 举报 回复 支持 反对
发表于 2013-9-11 22:09:37
横扫千军 发表于 2013-9-11 12:51
楼主您好:

请您全部关闭所有.cu上的-rdc=true选项,或者全部打开。

float_rounding_to_int

这个函数,我定义成了__device__和__host__都有的,是不是取消了relocatable code就不能这样?
使用道具 举报 回复 支持 反对
发表于 2013-9-11 22:54:44
snake3342 发表于 2013-9-11 22:09
float_rounding_to_int

这个函数,我定义成了__device__和__host__都有的,是不是取消了relocatable cod ...

您的项目需要使用其他.cu里面的__device__的,
所以您无法选择全部禁用rdc,
您只能全部启用rdc,
然后请尝试rebuild all.

感谢深夜来访。
使用道具 举报 回复 支持 反对
发表于 2013-9-12 06:34:54
横扫千军 发表于 2013-9-11 22:54
您的项目需要使用其他.cu里面的__device__的,
所以您无法选择全部禁用rdc,
您只能全部启用rdc,

我意识到是什么问题了,首先这个源文件里面有个读文件的函数(用fstream),另外一个函数是把之前的函数文件读到的数字排列成有规则的序列。

我把后面那个函数分出去到了一个新的源文件上。它没事。

然后老文件,我使用rdc编译,还是出错:
错误 208 error : Undefined reference to '_ZTVSd__St13basic_fstreamIcSt11char_traitsIcEE' in 'Release/reading_raw_data_from_file.cu.obj' E:\MA_strategy\MA_strategy\nvlink MA_strategy

我单独在这个文件上,把rdc关闭,就可以顺利链接。

以前用cuda 5.0的时候没有问题的。说明是cuda 5.5不支持链接fstream类的C++函数。
使用道具 举报 回复 支持 反对
发表于 2013-9-12 09:57:12
。。。。就这样吧。此贴不继续回复了。
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册