Skip to main content
gamedev.net
🔒 Locked

CodeWarrior Error Message

Started by FirestormFenix Jul 10, 2002 at 7:29 PM 2 replies 850+ views
Original Post
FirestormFenix
FirestormFenix
I''ve been working with the book "Game Programming All in One, " and was compiling some of the source from the book with Codewarrior Pro Release 5, and I got the following error message: Error: preprocessor #error directive excpt.h line 23 #error ERROR: Only Mac or Win32 targets supported! Now here''s the long explanation of my problem. It might help if you''ve read/are reading the book, but you don''t have to be. For anybody that has read/is reading the book, this is from the ''Monster'' program. The book tells you to use Microsoft Visual C++, but I really don''t see why any other compiler would create problems, as long as you''ve got the right headers and stuff, right? I think this may be part of my problem, I''m probably not including a file in my project that I should, or not placing a source file in my project folder, or just not putting including the right files in my project. Anyway, so the book wanted me to create a ''Win32 Console Application'' project in Visual C++. I assume that in CodeWarrior, this equates to creating a project under ''Win32 C/C++ Application Stationary,'' then choosing ''C++ Console App'' from the Project Stationary window, then keeping all my files with that project. The class that the book had me create is used to manipulate output in the console using some Windows-based functions to get keystrokes, output to any location within the console, and change the color of the text and background in the console. My hunch is that the problem has something to do with windows.h (and not CodeWarrior), which is included in my header for the console manip class, as well as in a few other classes for ''Monster.'' If anybody has any input on this, I''d REALLY appreciate it; this is a road block in my game-programming endeavors (i.e. I have no idea how to fix this problem). I am knowledgeable of C++, although compared to a professional probably not that knowledgeable yet (have completed a freshman year''s worth of Comp Sci courses at Case Western), but not completely knowledgeable of my compiler...I think that''s another problem. Thanks for all your help, time, etc. _________________ ~Firestorm Fenix~
_____~Firestorm Fenix~
pieman
pieman
Can you post some of the code from excpt.h that''s around that #error directive? It''s probably checking for a particular symbol being defined to determine whether it''s a Mac or Win32 build - and I expect that you aren''t defining either. I suggest you work out which one will make it think it''s a Win32 build and then add this to the compiler settings for your project (I can''t remember how to do this in CodeWarrior - I''ve only used the Net Yaroze version and that was about 4 years ago).
Iain HutchisonProgrammer, Silicon DreamsThe views expressed here are my own, not those of my employer.
FirestormFenix
FirestormFenix
Thanks for your reply, I''ll check out the compiler settings for my project. Is it necessary to put code in that defines it as Win32? Also, since I initially set the project to be a Win32 Console App, why should I need to specify any more (besides the Win32 C/C++ Application Stationary setting)?

Here is excpt.h
Codewarrior singles out the line I have marked with a ''<--''
as the one where the error occurs

//-----------------------------------------------------
#if _MSC_VER > 1000
#pragma once
#endif

#ifndef _INC_EXCPT
#define _INC_EXCPT

#if !defined(_WIN32) && !defined(_MAC)
#error ERROR: Only Mac or Win32 targets supported! //<--
#endif


#ifdef _MSC_VER
/*
* Currently, all MS C compilers for Win32 platforms default to 8 byte
* alignment.
*/
#pragma pack(push,8)
#endif /* _MSC_VER */

#ifdef __cplusplus
extern "C" {
#endif


/* Define _CRTAPI1 (for compatibility with the NT SDK) */

#ifndef _CRTAPI1
#if _MSC_VER >= 800 && _M_IX86 >= 300
#define _CRTAPI1 __cdecl
#else
#define _CRTAPI1
#endif
#endif


/* Define _CRTAPI2 (for compatibility with the NT SDK) */

#ifndef _CRTAPI2
#if _MSC_VER >= 800 && _M_IX86 >= 300
#define _CRTAPI2 __cdecl
#else
#define _CRTAPI2
#endif
#endif


/* Define _CRTIMP */

#ifndef _CRTIMP
#ifdef _NTSDK
/* definition compatible with NT SDK */
#define _CRTIMP
#else /* ndef _NTSDK */
/* current definition */
#ifdef _DLL
#define _CRTIMP __declspec(dllimport)
#else /* ndef _DLL */
#define _CRTIMP
#endif /* _DLL */
#endif /* _NTSDK */
#endif /* _CRTIMP */


/* Define __cdecl for non-Microsoft compilers */

#if ( !defined(_MSC_VER) && !defined(__cdecl) )
#define __cdecl
#endif


/*
* Exception disposition return values.
*/
typedef enum _EXCEPTION_DISPOSITION {
ExceptionContinueExecution,
ExceptionContinueSearch,
ExceptionNestedException,
ExceptionCollidedUnwind
} EXCEPTION_DISPOSITION;


/*
* Prototype for SEH support function.
*/

#ifdef _M_IX86

/*
* Declarations to keep MS C 8 (386/486) compiler happy
*/
struct _EXCEPTION_RECORD;
struct _CONTEXT;

EXCEPTION_DISPOSITION __cdecl _except_handler (
struct _EXCEPTION_RECORD *ExceptionRecord,
void * EstablisherFrame,
struct _CONTEXT *ContextRecord,
void * DispatcherContext
);

#elif defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC)

/*
* Declarations to keep MIPS, ALPHA, and PPC compiler happy
*/
typedef struct _EXCEPTION_POINTERS *Exception_info_ptr;
struct _EXCEPTION_RECORD;
struct _CONTEXT;
struct _DISPATCHER_CONTEXT;


_CRTIMP EXCEPTION_DISPOSITION __C_specific_handler (
struct _EXCEPTION_RECORD *ExceptionRecord,
void *EstablisherFrame,
struct _CONTEXT *ContextRecord,
struct _DISPATCHER_CONTEXT *DispatcherContext
);

#endif


/*
* Keywords and intrinsics for SEH
*/

#ifdef _MSC_VER

#if defined(_NTSDK) && !defined(__cplusplus)
#define try __try
#define except __except
#define finally __finally
#define leave __leave
#endif /* _NTSDK */
#define GetExceptionCode _exception_code
#define exception_code _exception_code
#define GetExceptionInformation (struct _EXCEPTION_POINTERS *)_exception_info
#define exception_info (struct _EXCEPTION_POINTERS *)_exception_info
#define AbnormalTermination _abnormal_termination
#define abnormal_termination _abnormal_termination

unsigned long __cdecl _exception_code(void);
void * __cdecl _exception_info(void);
int __cdecl _abnormal_termination(void);

#endif


/*
* Legal values for expression in except().
*/

#define EXCEPTION_EXECUTE_HANDLER 1
#define EXCEPTION_CONTINUE_SEARCH 0
#define EXCEPTION_CONTINUE_EXECUTION -1



#ifdef __cplusplus
}
#endif

#ifdef _MSC_VER
#pragma pack(pop)
#endif /* _MSC_VER */

#endif /* _INC_EXCPT */
_____~Firestorm Fenix~

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.