#error:请定义您的平台
error C1189: #error : Please define your platform
当我在visual studio ultimate2010上构建时,我有这个错误,你能让我修复这个错误吗,非常感谢!
错误1错误C1189: # Error:请定义您的平台。D:dzzsrcflexenginefxcoreplatform.h 28 1 battleserver
#pragma once
// 平台定义
#if defined __APPLE__
#include "AvailabilityMacros.h"
#include "TargetConditionals.h"
#if TARGET_OS_IPHONE
/* if compiling for iPhone */
#define PLATFORM_IPHONE 1
#else
#define PLATFORM_MACOSX 1
#endif
#elif TARGET_OS_IPHONE
#define PLATFORM_IPHONE 1
#elif ANDROID
#define PLATFORM_ANDROID 1
#elif _WINDOWS
#define PLATFORM_WINDOWS 1
#elif (defined(__linux__))
#define PLATFORM_LINUX 1
#elif (defined(unix))
#define PLATFORM_UNIX 1
#else
#error Please define your platform.
#endif
// 64位检测
#if defined(__x86_64__) || defined(_M_X64) || defined(__LP64__) || defined(__POWERPC64__) || defined( _WIN64 )
#define PLATFORM_64 1
#elif defined(__i386__) || defined(_M_IX86) || defined(_M_PPC) || defined(__LP32__) || defined(__POWERPC__) || IPHONE || ANDROID
#define PLATFORM_32 1
#else
#define PLATFORM_32 1
// #error Please define your platform.
#endif
// 是否支持异常
#if PLATFORM_WINDOWS
#define PLATFORM_EXCEPTIONS 1
#else
#define PLATFORM_EXCEPTIONS 0
#endif
// Platform specific include.
#if PLATFORM_WINDOWS
#include "platform_windows.h"
#elif PLATFORM_IPHONE
#include "platform_iphone.h"
#elif PLATFORM_MACOSX
#include "platform_macosx.h"
#elif PLATFORM_ANDROID
#include "platform_android.h"
#elif PLATFORM_LINUX
#include "platform_linux.h"
#else
#error Unknown platform.
#endif
这个platform.h
似乎试图使用预定义的宏来检测目标平台。但是,它尝试使用_WINDOWS
宏来检测windows,这显然是Watcom编译器支持的预处理宏。
你的选择:
- 由于你使用的库显然只支持windows上的watcom编译器,你可以用它来代替visual studio。如果你选择使用VS,除了这个问题,可能还有其他问题需要修复以支持它。
- 你可以通过自己定义宏来解决这个问题。
- 您可以通过将
#elif _WINDOWS
替换为#elif _WIN32
来修复标题以与visual studio一起工作。参见visual studio预定义的宏。
我建议采用后一种方法,但是将库移植到VS可能(也可能不)涉及到大量的工作。
相关文章:
- 在提升multi_index容器中,是否定义了"default index"?
- 正在查找文档以获得PS4平台的C++中的设备信息
- #定义c-预处理器常量..我做错了什么
- 用C++中的一个变量定义一个常量
- 部分定义/别名模板模板参数
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- #为""定义宏;静态";针对不同的上下文
- 如何确保C++函数在定义之前声明(如override关键字)
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在命名空间中定义函数还是限定函数
- 此代码是否违反一个定义规则
- #错误您必须定义平台宏
- GCC可以用于编译到自定义平台吗
- 移动平台的预处理器定义是什么?
- 在c++中为每个平台定义函数的首选方式是什么
- (C++/WP8)为 WP8 平台定义的平台宏是什么?
- Bazel平台特定的C++定义
- Visual Studio makefile项目的自定义平台
- #error:请定义您的平台