Skip to main content

fatal error C1189: #error : Must define a target architecture.

2 replies [Last post]
ainhoa
Offline
Joined: 2010-02-09

Hi,
I´m trying to build cldc for ARM target on windows.
I set the enviroment variables in this way:

set COMPONENTS_DIR=C:/mr4/phoneme_feature
set BUILD_OUTPUT_DIR=%COMPONENTS_DIR%/build_output
set JVMWorkSpace=%COMPONENTS_DIR%/cldc
set JVMBuildSpace=%BUILD_OUTPUT_DIR%/cldc
set JDK_DIR=C:/PROGRA~1/Java/jdk1.6.0_18
set CYG4ME=C:\cyg4me
set USE_VS2005=true
set VS2005_ROOT=C:/PROGRA~1/MICROS~2

@REM Settings for the host builds (loopgen/romgen)
set PATH=%CYG4ME%\bin;%JDK_DIR%/bin;C:/PROGRA~1/MICROS~2\Common7\IDE;%PATH%
set LIB=%VS2005_ROOT%/vc/lib;%VS2005_ROOT%/vc/PlatformSDK/lib
set INCLUDE=%VS2005_ROOT%/vc/include;%VS2005_ROOT%/vc/PlatformSDK/include
set ENABLE_JAVA_DEBUGGER=true
set ENABLE_MULTIPLE_PROFILES_SUPPORT=true
@REM Settings for the target build

set VS2005_CE_ARM_LIB=C:/PROGRA~1/WIEB7A~1/wce500/WINDOW~1.0PO/lib/armv4i
set VS2005_CE_ARM_INCLUDE=C:/PROGRA~1/WIEB7A~1/wce500/WINDOW~1.0PO/include/armv4i
set VS2005_CE_ARM_PATH=%VS2005_ROOT%/vc/ce/bin/x86_arm
set VS2005_COMMON_PATH=%VS2005_ROOT%/vc/bin
set PCSL_PLATFORM=javacall_arm_vc

make -C %JVMWorkSpace%/build/wince_arm ENABLE_PCSL=true PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl ENABLE_ISOLATES=true JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall TOOLS_DIR=%COMPONENTS_DIR%/tools TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools

I get the following error:

Generating _build_pch_visCPP.obj ...
_build_pch_visCPP.cpp
C:/PROGRA~1/MICROS~2/vc/include\math.h(384) : error C2169: 'fabsf' : intrinsic f
unction, cannot be defined
C:/PROGRA~1/MICROS~2/vc/include\math.h(397) : error C2169: 'ceilf' : intrinsic f
unction, cannot be defined
C:/PROGRA~1/MICROS~2/vc/include\math.h(405) : error C2169: 'floorf' : intrinsic
function, cannot be defined
C:/PROGRA~1/MICROS~2/vc/include\math.h(407) : error C2169: 'fmodf' : intrinsic f
unction, cannot be defined
C:/PROGRA~1/MICROS~2/vc/include\math.h(423) : error C2169: 'sqrtf' : intrinsic f
unction, cannot be defined
C:/PROGRA~1/MICROS~2/vc/include\math.h(492) : error C3861: 'fabsf': identifier n
ot found
C:/PROGRA~1/MICROS~2/vc/include\math.h(502) : error C3861: 'ceilf': identifier n
ot found
C:/PROGRA~1/MICROS~2/vc/include\math.h(510) : error C3861: 'fabsf': identifier n
ot found
C:/PROGRA~1/MICROS~2/vc/include\math.h(512) : error C3861: 'floorf': identifier
not found
C:/PROGRA~1/MICROS~2/vc/include\math.h(514) : error C3861: 'fmodf': identifier not found
C:/PROGRA~1/MICROS~2/vc/include\math.h(534) : error C3861: 'sqrtf': identifier n
ot found
C:/PROGRA~1/MICROS~2/vc/PlatformSDK/include\winnt.h(666) : fatal error C1189: #error : Must define a target architecture.
make[1]: *** [_build_pch_visCPP.obj] Error 2

Anybody knows what the problem is?
Thank you

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
ainhoa
Offline
Joined: 2010-02-09

It works

ainhoa
Offline
Joined: 2010-02-09

If someone has the same problem I found the solution:
The variables ENABLE_JAVA_DEBUGGER=true and ENABLE_MULTIPLE_PROFILES_SUPPORT=true must be put in the make command line.
I was declaring them before...

After doing in this way the error dissapears.
make -C %JVMWorkSpace%/build/wince_arm ENABLE_PCSL=true PCSL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/pcsl ENABLE_ISOLATES=true JAVACALL_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/javacall TOOLS_DIR=%COMPONENTS_DIR%/tools TOOLS_OUTPUT_DIR=%BUILD_OUTPUT_DIR%/tools ENABLE_JAVA_DEBUGGER=true ENABLE_MULTIPLE_PROFILES_SUPPORT=true

However I found other errors I had to solve...