- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
Thanks!
Dale
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page