diff --git a/include/gen/AVObject.h b/include/gen/AVObject.h
index 802fdcdcd42a80942772fa3b3b10379cd11da55b..5ac74338795065431da7e94b6e70e4194f69f511 100644
--- a/include/gen/AVObject.h
+++ b/include/gen/AVObject.h
@@ -17,12 +17,15 @@ class NiAVObject;
 struct AVObject {
 	/*! Default Constructor */
 	NIFLIB_API AVObject();
+	/*! Default Destructor */
+	NIFLIB_API ~AVObject();
 	/*! Copy Constructor */
 	NIFLIB_API AVObject( const AVObject & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API AVObject & operator=( const AVObject & src );
-	/*! Default Destructor */
-	NIFLIB_API ~AVObject();
+	#endif
 	/*!
 	 * Object name.
 	 */
diff --git a/include/gen/BoundingBox.h b/include/gen/BoundingBox.h
index f8b297f0231db1657b68d4970fcac8cff4e1b65e..3e5b5325f3c941cffb59f50d6cfca8854d3a0a35 100644
--- a/include/gen/BoundingBox.h
+++ b/include/gen/BoundingBox.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct BoundingBox {
 	/*! Default Constructor */
 	NIFLIB_API BoundingBox();
+	/*! Default Destructor */
+	NIFLIB_API ~BoundingBox();
 	/*! Copy Constructor */
 	NIFLIB_API BoundingBox( const BoundingBox & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API BoundingBox & operator=( const BoundingBox & src );
-	/*! Default Destructor */
-	NIFLIB_API ~BoundingBox();
+	#endif
 	/*!
 	 * Usually 1.
 	 */
diff --git a/include/gen/ByteArray.h b/include/gen/ByteArray.h
index a8404f94ced93b7cd10259a32aa66948c312d84f..8ef6b00276781948e0a36f282d2b3d44a4706190 100644
--- a/include/gen/ByteArray.h
+++ b/include/gen/ByteArray.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct ByteArray {
 	/*! Default Constructor */
 	NIFLIB_API ByteArray();
+	/*! Default Destructor */
+	NIFLIB_API ~ByteArray();
 	/*! Copy Constructor */
 	NIFLIB_API ByteArray( const ByteArray & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API ByteArray & operator=( const ByteArray & src );
-	/*! Default Destructor */
-	NIFLIB_API ~ByteArray();
+	#endif
 	/*!
 	 * The number of bytes in this array
 	 */
diff --git a/include/gen/ControllerLink.h b/include/gen/ControllerLink.h
index d9de126bca59df577d8f4a1d81373328dbf53c7d..5fb2eaab80ec81174d17037140d2af99fc5b83c5 100644
--- a/include/gen/ControllerLink.h
+++ b/include/gen/ControllerLink.h
@@ -25,12 +25,15 @@ class NiStringPalette;
 struct ControllerLink {
 	/*! Default Constructor */
 	NIFLIB_API ControllerLink();
+	/*! Default Destructor */
+	NIFLIB_API ~ControllerLink();
 	/*! Copy Constructor */
 	NIFLIB_API ControllerLink( const ControllerLink & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API ControllerLink & operator=( const ControllerLink & src );
-	/*! Default Destructor */
-	NIFLIB_API ~ControllerLink();
+	#endif
 	/*!
 	 * Name of a controllable object in another NIF file.
 	 */
diff --git a/include/gen/Footer.h b/include/gen/Footer.h
index cec6ed2f66df968fd1c1cb845bfc3a1f936cefa8..d4bcb9222f9717ba19e33dffe6e2bf503f91b50d 100644
--- a/include/gen/Footer.h
+++ b/include/gen/Footer.h
@@ -20,12 +20,15 @@ class NiObject;
 struct Footer {
 	/*! Default Constructor */
 	NIFLIB_API Footer();
+	/*! Default Destructor */
+	NIFLIB_API ~Footer();
 	/*! Copy Constructor */
 	NIFLIB_API Footer( const Footer & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API Footer & operator=( const Footer & src );
-	/*! Default Destructor */
-	NIFLIB_API ~Footer();
+	#endif
 	/*!
 	 * The number of root references.
 	 */
diff --git a/include/gen/FurniturePosition.h b/include/gen/FurniturePosition.h
index e1a9e6d80f73b259d8ef2e75ee6a08e473156e6f..63a6940b2260189e15c2b229c6a741cfc960f206 100644
--- a/include/gen/FurniturePosition.h
+++ b/include/gen/FurniturePosition.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct FurniturePosition {
 	/*! Default Constructor */
 	NIFLIB_API FurniturePosition();
+	/*! Default Destructor */
+	NIFLIB_API ~FurniturePosition();
 	/*! Copy Constructor */
 	NIFLIB_API FurniturePosition( const FurniturePosition & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API FurniturePosition & operator=( const FurniturePosition & src );
-	/*! Default Destructor */
-	NIFLIB_API ~FurniturePosition();
+	#endif
 	/*!
 	 * Offset of furniture marker.
 	 */
diff --git a/include/gen/Header.h b/include/gen/Header.h
index ad54673fc6bdeecd880fe23b7012ac1e165fad17..a89524aa72ea0922afba142efd189b30d72abde9 100644
--- a/include/gen/Header.h
+++ b/include/gen/Header.h
@@ -16,12 +16,15 @@ namespace Niflib {
 struct Header {
 	/*! Default Constructor */
 	NIFLIB_API Header();
+	/*! Default Destructor */
+	NIFLIB_API ~Header();
 	/*! Copy Constructor */
 	NIFLIB_API Header( const Header & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API Header & operator=( const Header & src );
-	/*! Default Destructor */
-	NIFLIB_API ~Header();
+	#endif
 	/*!
 	 * 'NetImmerse File Format x.x.x.x' (versions <= 10.0.1.2) or 'Gamebryo
 	 * File Format x.x.x.x' (versions >= 10.1.0.0), with x.x.x.x the version
diff --git a/include/gen/LODRange.h b/include/gen/LODRange.h
index 3cad1c6abe5d98e76dba8f743e5ea94a0d7507a8..799e5a51f8960a71496bf56bbd9ba17c9b5754d7 100644
--- a/include/gen/LODRange.h
+++ b/include/gen/LODRange.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct LODRange {
 	/*! Default Constructor */
 	NIFLIB_API LODRange();
+	/*! Default Destructor */
+	NIFLIB_API ~LODRange();
 	/*! Copy Constructor */
 	NIFLIB_API LODRange( const LODRange & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API LODRange & operator=( const LODRange & src );
-	/*! Default Destructor */
-	NIFLIB_API ~LODRange();
+	#endif
 	/*!
 	 * Begining of range.
 	 */
diff --git a/include/gen/LimitedHingeDescriptor.h b/include/gen/LimitedHingeDescriptor.h
index cc2646721ad00dc088af37b7bd819457fc894d4b..0180e02aefa47ecf01bcb40b894267c71b1fe96c 100644
--- a/include/gen/LimitedHingeDescriptor.h
+++ b/include/gen/LimitedHingeDescriptor.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct LimitedHingeDescriptor {
 	/*! Default Constructor */
 	NIFLIB_API LimitedHingeDescriptor();
+	/*! Default Destructor */
+	NIFLIB_API ~LimitedHingeDescriptor();
 	/*! Copy Constructor */
 	NIFLIB_API LimitedHingeDescriptor( const LimitedHingeDescriptor & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API LimitedHingeDescriptor & operator=( const LimitedHingeDescriptor & src );
-	/*! Default Destructor */
-	NIFLIB_API ~LimitedHingeDescriptor();
+	#endif
 	/*!
 	 * Unknown.
 	 */
diff --git a/include/gen/MatchGroup.h b/include/gen/MatchGroup.h
index cec9065cae82494515d7fcd61ab1685d79d2afcb..df1bda765bcd33c0b5f17b5e0c74cf06b1ec2edb 100644
--- a/include/gen/MatchGroup.h
+++ b/include/gen/MatchGroup.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct MatchGroup {
 	/*! Default Constructor */
 	NIFLIB_API MatchGroup();
+	/*! Default Destructor */
+	NIFLIB_API ~MatchGroup();
 	/*! Copy Constructor */
 	NIFLIB_API MatchGroup( const MatchGroup & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API MatchGroup & operator=( const MatchGroup & src );
-	/*! Default Destructor */
-	NIFLIB_API ~MatchGroup();
+	#endif
 	/*!
 	 * Number of vertices in this group.
 	 */
diff --git a/include/gen/MipMap.h b/include/gen/MipMap.h
index e3f0fd62f6c11bb92f647ea34ddbcc3063949f9d..c87b581ee756f30095ebd97ff26d1d2e3f0d4fc5 100644
--- a/include/gen/MipMap.h
+++ b/include/gen/MipMap.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct MipMap {
 	/*! Default Constructor */
 	NIFLIB_API MipMap();
+	/*! Default Destructor */
+	NIFLIB_API ~MipMap();
 	/*! Copy Constructor */
 	NIFLIB_API MipMap( const MipMap & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API MipMap & operator=( const MipMap & src );
-	/*! Default Destructor */
-	NIFLIB_API ~MipMap();
+	#endif
 	/*!
 	 * Width of the mipmap image.
 	 */
diff --git a/include/gen/Morph.h b/include/gen/Morph.h
index e9c2c625f74bc2faa74c1eff5476ac3d386eb542..b11f5eaa010725e6e9be88656134b6f6ef46587f 100644
--- a/include/gen/Morph.h
+++ b/include/gen/Morph.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct Morph {
 	/*! Default Constructor */
 	NIFLIB_API Morph();
+	/*! Default Destructor */
+	NIFLIB_API ~Morph();
 	/*! Copy Constructor */
 	NIFLIB_API Morph( const Morph & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API Morph & operator=( const Morph & src );
-	/*! Default Destructor */
-	NIFLIB_API ~Morph();
+	#endif
 	/*!
 	 * Name of the frame.
 	 */
diff --git a/include/gen/NodeGroup.h b/include/gen/NodeGroup.h
index df2c116c3a44955cea698a06812a17722ad6ea48..187833941e9408bc596dce780974a80ba465d8e6 100644
--- a/include/gen/NodeGroup.h
+++ b/include/gen/NodeGroup.h
@@ -17,12 +17,15 @@ class NiNode;
 struct NodeGroup {
 	/*! Default Constructor */
 	NIFLIB_API NodeGroup();
+	/*! Default Destructor */
+	NIFLIB_API ~NodeGroup();
 	/*! Copy Constructor */
 	NIFLIB_API NodeGroup( const NodeGroup & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API NodeGroup & operator=( const NodeGroup & src );
-	/*! Default Destructor */
-	NIFLIB_API ~NodeGroup();
+	#endif
 	/*!
 	 * Number of node references that follow.
 	 */
diff --git a/include/gen/OblivionColFilter.h b/include/gen/OblivionColFilter.h
index ee4d89f5cb5dc54b932d4a21c16b7a4eb7900cef..f1dcdc60c7c4c73d1994c886c4b544df5bfb0888 100644
--- a/include/gen/OblivionColFilter.h
+++ b/include/gen/OblivionColFilter.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct OblivionColFilter {
 	/*! Default Constructor */
 	NIFLIB_API OblivionColFilter();
+	/*! Default Destructor */
+	NIFLIB_API ~OblivionColFilter();
 	/*! Copy Constructor */
 	NIFLIB_API OblivionColFilter( const OblivionColFilter & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API OblivionColFilter & operator=( const OblivionColFilter & src );
-	/*! Default Destructor */
-	NIFLIB_API ~OblivionColFilter();
+	#endif
 	/*!
 	 * Sets mesh color in Oblivion Construction Set.
 	 */
diff --git a/include/gen/OblivionSubShape.h b/include/gen/OblivionSubShape.h
index c0632944f1559df61eba173c6e0c80cae952c19c..eceee4782c26bc0b47a3ad06ec3ffb8e4dfcf41b 100644
--- a/include/gen/OblivionSubShape.h
+++ b/include/gen/OblivionSubShape.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct OblivionSubShape {
 	/*! Default Constructor */
 	NIFLIB_API OblivionSubShape();
+	/*! Default Destructor */
+	NIFLIB_API ~OblivionSubShape();
 	/*! Copy Constructor */
 	NIFLIB_API OblivionSubShape( const OblivionSubShape & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API OblivionSubShape & operator=( const OblivionSubShape & src );
-	/*! Default Destructor */
-	NIFLIB_API ~OblivionSubShape();
+	#endif
 	/*!
 	 * Sets mesh color in Oblivion Construction Set.
 	 */
diff --git a/include/gen/Particle.h b/include/gen/Particle.h
index eebf47dd85c186f9ba5cf9538ea8118397a1f818..bdcc9b6ce2129da69743aa8cc5c2f6d296487276 100644
--- a/include/gen/Particle.h
+++ b/include/gen/Particle.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct Particle {
 	/*! Default Constructor */
 	NIFLIB_API Particle();
+	/*! Default Destructor */
+	NIFLIB_API ~Particle();
 	/*! Copy Constructor */
 	NIFLIB_API Particle( const Particle & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API Particle & operator=( const Particle & src );
-	/*! Default Destructor */
-	NIFLIB_API ~Particle();
+	#endif
 	/*!
 	 * Particle velocity
 	 */
diff --git a/include/gen/QuaternionXYZW.h b/include/gen/QuaternionXYZW.h
index fb705ead33079cf2d713904c57ebad755ad4fbf7..e84bd48645b3fd2edddf400790c72de2f54a36e4 100644
--- a/include/gen/QuaternionXYZW.h
+++ b/include/gen/QuaternionXYZW.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct QuaternionXYZW {
 	/*! Default Constructor */
 	NIFLIB_API QuaternionXYZW();
+	/*! Default Destructor */
+	NIFLIB_API ~QuaternionXYZW();
 	/*! Copy Constructor */
 	NIFLIB_API QuaternionXYZW( const QuaternionXYZW & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API QuaternionXYZW & operator=( const QuaternionXYZW & src );
-	/*! Default Destructor */
-	NIFLIB_API ~QuaternionXYZW();
+	#endif
 	/*!
 	 * The x-coordinate.
 	 */
diff --git a/include/gen/RagDollDescriptor.h b/include/gen/RagDollDescriptor.h
index 6b7f024a95bf30efa876e6717c9911c591c5b599..556c10375d0b1925d04a3bfa30af2e50e3507be5 100644
--- a/include/gen/RagDollDescriptor.h
+++ b/include/gen/RagDollDescriptor.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct RagDollDescriptor {
 	/*! Default Constructor */
 	NIFLIB_API RagDollDescriptor();
+	/*! Default Destructor */
+	NIFLIB_API ~RagDollDescriptor();
 	/*! Copy Constructor */
 	NIFLIB_API RagDollDescriptor( const RagDollDescriptor & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API RagDollDescriptor & operator=( const RagDollDescriptor & src );
-	/*! Default Destructor */
-	NIFLIB_API ~RagDollDescriptor();
+	#endif
 	/*!
 	 * Unknown.
 	 */
diff --git a/include/gen/ShaderTexDesc.h b/include/gen/ShaderTexDesc.h
index 5271475ca32d93ce688010fdf290d222463b942d..75ae441bfb60d6a9c9eb435e7429ea8905bf0831 100644
--- a/include/gen/ShaderTexDesc.h
+++ b/include/gen/ShaderTexDesc.h
@@ -17,12 +17,15 @@ namespace Niflib {
 struct ShaderTexDesc {
 	/*! Default Constructor */
 	NIFLIB_API ShaderTexDesc();
+	/*! Default Destructor */
+	NIFLIB_API ~ShaderTexDesc();
 	/*! Copy Constructor */
 	NIFLIB_API ShaderTexDesc( const ShaderTexDesc & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API ShaderTexDesc & operator=( const ShaderTexDesc & src );
-	/*! Default Destructor */
-	NIFLIB_API ~ShaderTexDesc();
+	#endif
 	/*!
 	 * Is it used?
 	 */
diff --git a/include/gen/SkinData.h b/include/gen/SkinData.h
index 1ced23c250e54aa1069e081f07c0e96ada7db27b..bc57b4e596a36b64b42f9e7d8455be9b409ba642 100644
--- a/include/gen/SkinData.h
+++ b/include/gen/SkinData.h
@@ -17,12 +17,15 @@ namespace Niflib {
 struct SkinData {
 	/*! Default Constructor */
 	NIFLIB_API SkinData();
+	/*! Default Destructor */
+	NIFLIB_API ~SkinData();
 	/*! Copy Constructor */
 	NIFLIB_API SkinData( const SkinData & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API SkinData & operator=( const SkinData & src );
-	/*! Default Destructor */
-	NIFLIB_API ~SkinData();
+	#endif
 	/*!
 	 * Rotation offset of the skin from this bone in bind position.
 	 */
diff --git a/include/gen/SkinPartition.h b/include/gen/SkinPartition.h
index 073e56706d591fb153d0bcb33daae5cff6b7fa22..ae2fce023ded55b9769bd44a8e0553e3c9f4ff55 100644
--- a/include/gen/SkinPartition.h
+++ b/include/gen/SkinPartition.h
@@ -16,12 +16,15 @@ namespace Niflib {
 struct SkinPartition {
 	/*! Default Constructor */
 	NIFLIB_API SkinPartition();
+	/*! Default Destructor */
+	NIFLIB_API ~SkinPartition();
 	/*! Copy Constructor */
 	NIFLIB_API SkinPartition( const SkinPartition & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API SkinPartition & operator=( const SkinPartition & src );
-	/*! Default Destructor */
-	NIFLIB_API ~SkinPartition();
+	#endif
 	/*!
 	 * Number of vertices in this submesh.
 	 */
diff --git a/include/gen/SkinShape.h b/include/gen/SkinShape.h
index 0d0d23ea8877cd97e9c13ff3eb8b076b129b6f2c..6ce1d84f40cfce67d8091659c6a5d34d4cd01c2e 100644
--- a/include/gen/SkinShape.h
+++ b/include/gen/SkinShape.h
@@ -20,12 +20,15 @@ class NiSkinInstance;
 struct SkinShape {
 	/*! Default Constructor */
 	NIFLIB_API SkinShape();
+	/*! Default Destructor */
+	NIFLIB_API ~SkinShape();
 	/*! Copy Constructor */
 	NIFLIB_API SkinShape( const SkinShape & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API SkinShape & operator=( const SkinShape & src );
-	/*! Default Destructor */
-	NIFLIB_API ~SkinShape();
+	#endif
 	/*!
 	 * The shape.
 	 */
diff --git a/include/gen/SkinShapeGroup.h b/include/gen/SkinShapeGroup.h
index a46d807b0aa131b3b5e8fcb055ccd562d80bb699..c9da2cc766944f8a8763a6d30d7fe67c9edeca5a 100644
--- a/include/gen/SkinShapeGroup.h
+++ b/include/gen/SkinShapeGroup.h
@@ -17,12 +17,15 @@ namespace Niflib {
 struct SkinShapeGroup {
 	/*! Default Constructor */
 	NIFLIB_API SkinShapeGroup();
+	/*! Default Destructor */
+	NIFLIB_API ~SkinShapeGroup();
 	/*! Copy Constructor */
 	NIFLIB_API SkinShapeGroup( const SkinShapeGroup & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API SkinShapeGroup & operator=( const SkinShapeGroup & src );
-	/*! Default Destructor */
-	NIFLIB_API ~SkinShapeGroup();
+	#endif
 	/*!
 	 * Counts unknown.
 	 */
diff --git a/include/gen/SkinWeight.h b/include/gen/SkinWeight.h
index ac7ae09236d1cee8475f535f08bb1d69bff3177b..7c7b2a7c17ed99d7b400368f7791262346206067 100644
--- a/include/gen/SkinWeight.h
+++ b/include/gen/SkinWeight.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct SkinWeight {
 	/*! Default Constructor */
 	NIFLIB_API SkinWeight();
+	/*! Default Destructor */
+	NIFLIB_API ~SkinWeight();
 	/*! Copy Constructor */
 	NIFLIB_API SkinWeight( const SkinWeight & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API SkinWeight & operator=( const SkinWeight & src );
-	/*! Default Destructor */
-	NIFLIB_API ~SkinWeight();
+	#endif
 	/*!
 	 * The vertex index, in the mesh.
 	 */
diff --git a/include/gen/Sphere.h b/include/gen/Sphere.h
index d22d7d5c5a54e71b294ad9ccd60b65bfb6adce18..0ea8fbe3a5c486960078ed47d53eb640536f82e5 100644
--- a/include/gen/Sphere.h
+++ b/include/gen/Sphere.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct Sphere {
 	/*! Default Constructor */
 	NIFLIB_API Sphere();
+	/*! Default Destructor */
+	NIFLIB_API ~Sphere();
 	/*! Copy Constructor */
 	NIFLIB_API Sphere( const Sphere & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API Sphere & operator=( const Sphere & src );
-	/*! Default Destructor */
-	NIFLIB_API ~Sphere();
+	#endif
 	/*!
 	 * The sphere's center.
 	 */
diff --git a/include/gen/StringPalette.h b/include/gen/StringPalette.h
index e4bcbfb85b3d3d5ca35b3de27c9729beb7ad902e..0407a11196f4785f63c3496cbbc189118b465680 100644
--- a/include/gen/StringPalette.h
+++ b/include/gen/StringPalette.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct StringPalette {
 	/*! Default Constructor */
 	NIFLIB_API StringPalette();
+	/*! Default Destructor */
+	NIFLIB_API ~StringPalette();
 	/*! Copy Constructor */
 	NIFLIB_API StringPalette( const StringPalette & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API StringPalette & operator=( const StringPalette & src );
-	/*! Default Destructor */
-	NIFLIB_API ~StringPalette();
+	#endif
 	/*!
 	 * A bunch of 0x00 seperated strings.
 	 */
diff --git a/include/gen/TBC.h b/include/gen/TBC.h
index 9968467bbe0a9e90feb474566c25efe8594828df..a2947e603afa947b7b26dce8dae2491de5b534cc 100644
--- a/include/gen/TBC.h
+++ b/include/gen/TBC.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct TBC {
 	/*! Default Constructor */
 	NIFLIB_API TBC();
+	/*! Default Destructor */
+	NIFLIB_API ~TBC();
 	/*! Copy Constructor */
 	NIFLIB_API TBC( const TBC & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API TBC & operator=( const TBC & src );
-	/*! Default Destructor */
-	NIFLIB_API ~TBC();
+	#endif
 	/*!
 	 * Tension.
 	 */
diff --git a/include/gen/TexDesc.h b/include/gen/TexDesc.h
index d86d0116c374c769f74d299db7fc6251d47d82a9..50b98fe6bce2f92e0b85dd421426e5d8399f0761 100644
--- a/include/gen/TexDesc.h
+++ b/include/gen/TexDesc.h
@@ -19,12 +19,15 @@ class NiSourceTexture;
 struct TexDesc {
 	/*! Default Constructor */
 	NIFLIB_API TexDesc();
+	/*! Default Destructor */
+	NIFLIB_API ~TexDesc();
 	/*! Copy Constructor */
 	NIFLIB_API TexDesc( const TexDesc & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API TexDesc & operator=( const TexDesc & src );
-	/*! Default Destructor */
-	NIFLIB_API ~TexDesc();
+	#endif
 	/*!
 	 * NiSourceTexture object index.
 	 */
diff --git a/include/gen/TexSource.h b/include/gen/TexSource.h
index d7b0a93056a09aed951fd9bd8dcc6320ff43014a..2577ac77dce0bd4461d79e43ccee5650e6cee881 100644
--- a/include/gen/TexSource.h
+++ b/include/gen/TexSource.h
@@ -20,12 +20,15 @@ class NiPixelData;
 struct TexSource {
 	/*! Default Constructor */
 	NIFLIB_API TexSource();
+	/*! Default Destructor */
+	NIFLIB_API ~TexSource();
 	/*! Copy Constructor */
 	NIFLIB_API TexSource( const TexSource & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API TexSource & operator=( const TexSource & src );
-	/*! Default Destructor */
-	NIFLIB_API ~TexSource();
+	#endif
 	/*!
 	 * Is the texture external?
 	 */
diff --git a/include/gen/hkTriangle.h b/include/gen/hkTriangle.h
index ab4772978fd5e35f1a94bd659fe9b7aeb1dd773f..0a4500960076960f55df3b0dfafb9eee5c4f4265 100644
--- a/include/gen/hkTriangle.h
+++ b/include/gen/hkTriangle.h
@@ -15,12 +15,15 @@ namespace Niflib {
 struct hkTriangle {
 	/*! Default Constructor */
 	NIFLIB_API hkTriangle();
+	/*! Default Destructor */
+	NIFLIB_API ~hkTriangle();
 	/*! Copy Constructor */
 	NIFLIB_API hkTriangle( const hkTriangle & src );
+	//This operator give SWIG problems
+	#ifndef SWIG
 	/*! Copy Operator */
 	NIFLIB_API hkTriangle & operator=( const hkTriangle & src );
-	/*! Default Destructor */
-	NIFLIB_API ~hkTriangle();
+	#endif
 	/*!
 	 * The triangle.
 	 */
diff --git a/include/obj/NiExtraData.h b/include/obj/NiExtraData.h
index 7e93ec4d1e4d910bcfb3168660124907b7c7bb12..d89badc702949c7b72edc8b5f19f1ab0c338ea9d 100644
--- a/include/obj/NiExtraData.h
+++ b/include/obj/NiExtraData.h
@@ -54,7 +54,7 @@ public:
 	 * the target version.
 	 * \return The name of this NiExtraData object.
 	 */
-	string GetName();
+	NIFLIB_API string GetName();
 
 	/*! Sets the name of this NiExtraData object.  Will only be written to later
 	 * version NIF files.