【发布时间】:2012-05-13 13:21:46
【问题描述】:
我遇到了这个链接器错误,并且在通过它时遇到了一些麻烦。
o/foo/bar.cc.o: In function 'foo::bar()': bar.cc:(.text+0x728): undefined reference to 'rf<PlayerInfo> Util::getClosestToGlobal<PlayerInfo>(std::vector<rf<bats::PlayerInfo>, std::allocator<rf<PlayerInfo> > >, Eigen::Matrix<double, 3, 1, 2, 3, 1>)'
Util.h 文件定义:
template <class ObjectClass>
static rf<ObjectClass> getClosestToGlobal(
std::vector<rf<ObjectClass> > objects, Eigen::Vector3d targetPosGlobal);
Util.cpp 定义:
template <class ObjectClass>
rf<ObjectClass> Util::getClosestToGlobal(
std::vector<rf<ObjectClass> > objects, Eigen::Vector3d targetPosGlobal)
{
// ...
}
我知道我的 cpp 文件编译成功,因为它按预期重新创建了 .o 文件。
我是否在此处提供了足够的信息以供更有经验的人识别问题?如果没有,我还应该去哪里寻找?
【问题讨论】:
-
@Bo,它可能是重复的,虽然当时我问我不知道问题是什么:) 谢谢你的链接。它也非常类似于:stackoverflow.com/questions/115703/…
标签: c++ gcc linker-errors