提问人:Amir Fakhim Babaei 提问时间:5/10/2022 更新时间:5/10/2022 访问量:475
类实现的“undefined reference to”编译错误 [duplicate]
"undefined reference to" compile error for class implementation [duplicate]
问:
我在四个不同的文件中实现了两个类(每个文件分别为 .cpp/.cu 和 .h)。问题是,当我使用此命令编译代码时:
$ nvcc -lcuda -lineinfo -o test -I src src/schd.cpp src/ctx.cu test.cpp
我收到每个类变量的“未定义引用”错误,如下所示:
/usr/bin/ld: /tmp/tmpxft_000081c8_00000000-9_schd.o: in function `FGPRS::Scheduler::destroyAll()':
schd.cpp:(.text+0x37e): undefined reference to `FGPRS::Scheduler::_poolSize'
它只发生在类变量成员身上,而不是函数上。即使我使用的是 CUDA 编译器 (nvcc),我相信这应该是一个与 C++ 相关的问题,与 CUDA 无关,即使在本机 C++ 编译器(使用 gcc 命令)的情况下也会发生这种情况。
答: 暂无答案
评论
schd.*
test.*
src/ctx.cu