Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7956 Discussions

LNK2019: Unresolved External Symbol using 10.1.021_ia32

slu
Beginner
292 Views
I got stuck at these link errors while compiling "Torque Shader Engine" using Intel Compiler.

5>atlasGeomCollision.obj : error LNK2019: unresolved external symbol "public: bool __thiscall QuadTreeTracer::castRay(class Point3F const &,class Point3F const &,class RayInfo *)" (?castRay@QuadTreeTracer@@QAE_NABVPoint3F@@0PAVRayInfo@@@Z) referenced in function "public: bool __thiscall AtlasGeomChunkTracer::castRay(class Point3F const &,class Point3F const &,class RayInfo *)" (?castRay@AtlasGeomChunkTracer@@QAE_NABVPoint3F@@0PAVRayInfo@@@Z)


I think the class hierarchy is a valid C++ construct (no problem in VS 2005) but the Intel compiler doesn't like it.

In \engineutilquadTreeTracer.h
class QuadTreeTracer
{
...
public:
bool castRay(const Point3F &start, const Point3F &end, RayInfo *info);
}

In \engineatlas esourceatlasGeomCollision.h
class AtlasGeomChunkTracer : public QuadTreeTracer
{
...
public:
bool castRay(const Point3F &start, const Point3F &end, RayInfo *info);
};

in \engineatlasatlasGeomCollision.cpp
bool AtlasGeomChunkTracer::castRay(const Point3F &start, const Point3F &end, RayInfo *info)
{
....

return QuadTreeTracer::castRay(start, end, info); <----- the linker couldn't find this function on the base class.
}


Thanks for any help to solve this problem....

- Steve Lu
0 Kudos
1 Reply
Dale_S_Intel
Employee
292 Views
I don't see any obvious problem with the source code. Can you post a complete buildable test case (or a pointer to one)?

Thanks!

Dale

0 Kudos
Reply