For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings

 

Need to speed up your development?
Have a look at our:

Samples & Tools

 

Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Undefined symbols for architecture x86_64: "Standard_Transient::ShallowDump(std::ostream&) const"

Sébastien's picture
Forums: 

Hello,

I'm trying to upgrade the version of OC to 6.7.0 inside my frameWork and I have a compilation issue.
This error didn't appear when I was using the version 6.5.4 of OC

The OS is OSX 10.9.1, OC was compiled using CMake.

At the linking time I get this error message :

Undefined symbols for architecture x86_64:
"Standard_Transient::ShallowDump(std::ostream&) const", referenced from:
vtable for Adaptor2d_HCurve2d in curvestoolbox.o
vtable for compositeCurve in compositecurve.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

The object compositecurve derivate from ShapeExtend_ComplexCurve.
Here is the the definition of the class :
class compositeCurve : public ShapeExtend_ComplexCurve
{
public:
Standard_EXPORT compositeCurve();

Standard_EXPORT Standard_Integer NbCurves() const;
Standard_EXPORT const Handle_Geom_Curve& Curve(const Standard_Integer index) const;
Standard_EXPORT Standard_Integer LocateParameter(const Standard_Real U,Standard_Real& UOut) const;
Standard_EXPORT Standard_Real LocalToGlobal(const Standard_Integer index, const Standard_Real Ulocal) const;
Standard_EXPORT Standard_Real GetScaleFactor(const Standard_Integer ind) const;
void addCurve(Handle_Geom_Curve &aCurve);
void setCurve(int i,Handle_Geom_Curve &aCurve);
Standard_EXPORT gp_Pnt Value(const Standard_Real U);
Standard_EXPORT Handle_Geom_Geometry Copy() const;
Standard_EXPORT void Reverse();
Standard_EXPORT void Transform(const gp_Trsf &T);
double length(double tol);
DEFINE_STANDARD_RTTI(compositeCurve)
private:
QList m_curves;
QList segs;

void buildSegs();

};
DEFINE_STANDARD_HANDLE(compositeCurve,ShapeExtend_ComplexCurve)

The problem doesn't occur on windows

Does any of you have an idea?

Thanks,

Sébastien