1. 程式人生 > >MRPT學習(三)——編譯MRPT出錯:OniPlatform.h:49:3: error: #error Xiron Platform Abstraction Layer

MRPT學習(三)——編譯MRPT出錯:OniPlatform.h:49:3: error: #error Xiron Platform Abstraction Layer

在編譯MRPT時,出現瞭如下錯誤:

OniPlatform.h:49:3: error: #error Xiron Platform Abstraction Layer - Unsupported

解決辦法:

將OpenNI-Linux-x86-2.2/Include目錄下的OniPlatform.h,由

// Supported platforms
#define ONI_PLATFORM_WIN32 1
#define ONI_PLATFORM_LINUX_X86 2
#define ONI_PLATFORM_LINUX_ARM 3
#define ONI_PLATFORM_MACOSX 4
#define ONI_PLATFORM_ANDROID_ARM 5

#if (defined _WIN32)
#	ifndef RC_INVOKED
#		if _MSC_VER < 1300
#			error OpenNI Platform Abstraction Layer - Win32 - Microsoft Visual Studio version below 2003 (7.0) are not supported!
#		endif
#	endif
#	include "Win32/OniPlatformWin32.h"
#elif defined (ANDROID) && defined (__arm__)
#	include "Android-Arm/OniPlatformAndroid-Arm.h"
#elif (__linux__ && (i386 || __x86_64__))
#	include "Linux-x86/OniPlatformLinux-x86.h"
#elif (__linux__ && __arm__)
#	include "Linux-Arm/OniPlatformLinux-Arm.h"
#elif _ARC
#	include "ARC/OniPlaformARC.h"
#elif (__APPLE__)
#	include "MacOSX/OniPlatformMacOSX.h"
#else
#	error Xiron Platform Abstraction Layer - Unsupported Platform!
#endif

修改為:

// Supported platforms
/*#define ONI_PLATFORM_WIN32 1
#define ONI_PLATFORM_LINUX_X86 2
#define ONI_PLATFORM_LINUX_ARM 3
#define ONI_PLATFORM_MACOSX 4
#define ONI_PLATFORM_ANDROID_ARM 5

#if (defined _WIN32)
#	ifndef RC_INVOKED
#		if _MSC_VER < 1300
#			error OpenNI Platform Abstraction Layer - Win32 - Microsoft Visual Studio version below 2003 (7.0) are not supported!
#		endif
#	endif
#	include "Win32/OniPlatformWin32.h"
#elif defined (ANDROID) && defined (__arm__)
#	include "Android-Arm/OniPlatformAndroid-Arm.h"
#elif (__linux__ && (i386 || __x86_64__))*/
#	include "Linux-x86/OniPlatformLinux-x86.h"
/*#elif (__linux__ && __arm__)
#	include "Linux-Arm/OniPlatformLinux-Arm.h"
#elif _ARC
#	include "ARC/OniPlaformARC.h"
#elif (__APPLE__)
#	include "MacOSX/OniPlatformMacOSX.h"
#else
#	error Xiron Platform Abstraction Layer - Unsupported Platform!
#endif*/