From e9fc71cc6098fa34775f3c5074655d50f9b28a44 Mon Sep 17 00:00:00 2001 From: alil Date: Sun, 30 Nov 2008 20:32:53 +0000 Subject: [PATCH] fixed some linux compilation issues git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@257 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- code/ColladaLoader.cpp | 2 +- code/DefaultIOSystem.cpp | 6 +++++- code/TargetAnimation.cpp | 5 +++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/code/ColladaLoader.cpp b/code/ColladaLoader.cpp index 21214fbf9..b23e13d5a 100644 --- a/code/ColladaLoader.cpp +++ b/code/ColladaLoader.cpp @@ -239,7 +239,7 @@ void ColladaLoader::BuildMeshesForNode( const ColladaParser& pParser, const Coll pTarget->mNumMeshes = newMeshRefs.size(); if( newMeshRefs.size()) { - pTarget->mMeshes = new size_t[pTarget->mNumMeshes]; + pTarget->mMeshes = new unsigned int[pTarget->mNumMeshes]; std::copy( newMeshRefs.begin(), newMeshRefs.end(), pTarget->mMeshes); } } diff --git a/code/DefaultIOSystem.cpp b/code/DefaultIOSystem.cpp index 671c73c85..5c733a934 100644 --- a/code/DefaultIOSystem.cpp +++ b/code/DefaultIOSystem.cpp @@ -120,7 +120,11 @@ bool IOSystem::ComparePaths (const std::string& one, // Convert a relative path into an absolute path inline void MakeAbsolutePath (const std::string& in, char* _out) { - ::_fullpath(_out, in.c_str(),PATHLIMIT); + #ifdef WIN32 + ::_fullpath(_out, in.c_str(),PATHLIMIT); + #else + realpath(in.c_str(), _out); //TODO not a save implementation realpath assumes that _out has the size PATH_MAX defined in limits.h; an error handling should be added to both versions + #endif } // ------------------------------------------------------------------------------------------------ diff --git a/code/TargetAnimation.cpp b/code/TargetAnimation.cpp index 641fc9b52..cb435108a 100644 --- a/code/TargetAnimation.cpp +++ b/code/TargetAnimation.cpp @@ -40,6 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "AssimpPCH.h" #include "TargetAnimation.h" +#include using namespace Assimp; @@ -98,8 +99,8 @@ void KeyIterator::operator ++() // to our current position on the time line double d0,d1; - d0 = objPos->at ( std::min ( nextObjPos, objPos->size()-1) ).mTime; - d1 = targetObjPos->at( std::min ( nextTargetObjPos, targetObjPos->size()-1) ).mTime; + d0 = objPos->at ( std::min ( nextObjPos, objPos->size()-1) ).mTime; + d1 = targetObjPos->at( std::min ( nextTargetObjPos, targetObjPos->size()-1) ).mTime; // Easiest case - all are identical. In this // case we don't need to interpolate so we can