编译中的工作目标是什么?我正在做一个项目,但我在#error You have to define a target in your compiler project properties.
上失败了
我想知道编译中的目标是什么,它是如何工作的。
我的编译器是GCC
编辑
这是我的错误:In file included from ../../../RefFT/Common/src/SIGPROC_COMMON_ippdefs.h:55:0,
from ../../../RefFT/Common/src/SIGPROC_COMMON_memory_alloc.c:36:
../../../../../../../Generic/Common/Include/target_definition.h:195:6: error: #error You have to define a target in your compiler project properties.
#error You have to define a target in your compiler
我从事的一个项目是为Iphone Target编译的(可能是用xcode编译的(,我想用gcc编译它。
以下是target_definition.h 的一部分
#ifdef _X86_VC6_TARGET_
#define TARGET X86_VC6_TARGET
#elif defined _X86_VC7_1_TARGET_
#define TARGET X86_VC7_1_TARGET
#elif defined _X86_VC8_TARGET_
#define TARGET X86_VC8_TARGET
#elif defined _X86_VC9_TARGET_
#define TARGET X86_VC9_TARGET
#elif defined _X86_VC11_TARGET_
#define TARGET X86_VC11_TARGET
#elif defined _X86_VC12_TARGET_
#define TARGET X86_VC12_TARGET
#elif defined _X86_GCC_3_2_2_TARGET_
#define TARGET X86_GCC_3_2_2_TARGET
#elif defined _X86_GCC_4_1_1_TARGET_
#define TARGET X86_GCC_4_1_1_TARGET
#elif defined _MACOS_TARGET_
#define __macos__
#define TARGET MACOS_TARGET
#elif defined _X86_MACOS_GCC_4_2_1_TARGET_
#define __macos__
#define TARGET X86_MACOS_GCC_4_2_1_TARGET
#elif defined _X86_MSYS_GCC_4_4_1_TARGET_
#define TARGET X86_MSYS_GCC_4_4_1_TARGET
#elif defined _ARM11_IPHONEOS_GCC_4_2_1_TARGET_
#define TARGET ARM11_IPHONEOS_GCC_4_2_1_TARGET
#elif defined _IPHONEOS_TARGET_
#define TARGET IPHONEOS_TARGET
#elif defined _ARM9_VE4_TARGET_
#define TARGET ARM9_VE4_TARGET
#elif defined _ARM9_VC8_TARGET_
#define TARGET ARM9_VC8_TARGET
#elif defined _ARM9_GCC_TARGET_
#else
#error You have to define a target in your compiler
您没有说明编译器版本或操作系统,但根据代码,您需要定义适当的标识符(可能通过使用通过makefile传递给gcc
的-D
标志(。
以下是GCC的:
_X86_GCC_3_2_2_TARGET_
_X86_GCC_4_1_1_TARGET_ << Probably this one for Linux
_X86_MACOS_GCC_4_2_1_TARGET_
_X86_MSYS_GCC_4_4_1_TARGET_ << Or this one for Windows
_ARM11_IPHONEOS_GCC_4_2_1_TARGET_
_ARM9_GCC_TARGET_
您的代码需要从外部定义几个预处理器宏中的一个,大概是为了帮助它在各种编译器特定的优化或非标准功能中进行选择。当您尝试使用make
构建项目时收到这样的错误,这表明构建系统很差或不完整,或者在某种预构建配置过程中跳过了步骤。可能两者都有。
这可能是你可以通过这样做来克服这个特殊的问题:
make CFLAGS=-D_X86_GCC_4_1_1_TARGET_=1
而不是一个简单的make
,但您确实应该阅读构建器/安装程序文档,因为可能有更好的方法,而且可能还有其他事情需要做。