Supposedly. Unfortunately, it doesn't look like anyone has actually done it in quite a while at least with GCC 4.4.
Anyway, this is as far as I got tonight, I will take a another stab at it tomorrow after I figure out what exactly dae.h is for and where to find it. I will poke The_E and see if he has any insight (as he has apparently got it to build on windows at least).
The following patch fixes your two errors, plus another two that are about a different function committing the same badness.
diff --git a/model_editor_ctrl.h b/model_editor_ctrl.h
--- a/model_editor_ctrl.h
+++ b/model_editor_ctrl.h
@@ -1,6 +1,6 @@
#pragma once
-#include <wx\wx.h>
+#include <wx/wx.h>
#include "pcs_file.h"
#include "primitive_ctrl.h"
#include "omnipoints.h"
diff --git a/vector3d.cpp b/vector3d.cpp
--- a/vector3d.cpp
+++ b/vector3d.cpp
@@ -102,14 +102,14 @@ vector3d average_vectors_if_less_than_angle(int numvectors, float angle, vector3
//****************************************************************************************************************
-float Magnitude(vector3d &vec)
+float Magnitude(vector3d const &vec)
{
return (float)sqrt(vec.x*vec.x + vec.y*vec.y + vec.z*vec.z);
}
//****************************************************************************************************************
-vector3d CrossProduct(vector3d &one, vector3d &two)
+vector3d CrossProduct(vector3d const &one, vector3d const &two)
{
return MakeVector(float(double(one.y)*double(two.z)-double(two.y)*double(one.z)),
float(double(two.x)*double(one.z)-double(one.x)*double(two.z)),
@@ -151,7 +151,7 @@ vector3d FigureNormal(vector3d &one, vector3d &two, vector3d &three)
//****************************************************************************************************************
-float VectorMagnitude(vector3d &v)
+float VectorMagnitude(vector3d const &v)
{
return Magnitude(v);
}
diff --git a/vector3d.h b/vector3d.h
--- a/vector3d.h
+++ b/vector3d.h
@@ -118,7 +118,7 @@ inline bool no_nan(vector3d&vec){
return no_nan(vec.x) && no_nan(vec.y) && no_nan(vec.z);
}
-float VectorMagnitude(vector3d &v);
+float VectorMagnitude(vector3d const &v);
std::ostream & operator << ( std::ostream & os, vector3d &vec);
std::istream & operator >> ( std::istream & in, vector3d &vec);
@@ -150,9 +150,9 @@ float Abs(float n);
vector3d AverageVectors(int numvectors, vector3d *vects);
float Angle(vector3d &v1, vector3d &v2);
-vector3d CrossProduct(vector3d &one, vector3d &two);
+vector3d CrossProduct(vector3d const &one, vector3d const &two);
float dot(vector3d&A, vector3d&B);
-float Magnitude(vector3d &vec);
+float Magnitude(vector3d const &vec);
inline bool null_vec(vector3d &a){return a.x == 0.0f && a.y == 0.0f && a.z == 0.0f;}
vector3d average_vectors_if_less_than_angle(int numvectors, float angle, vector3d src, vector3d *vects);