コードとエラー内容は次の通りです
#ifndef UTILH
#define UTILH
#ifdef __cplusplus
extern "C" {
#endif
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
/*===================================================================
EXPORT FUNCTIONS
===================================================================*/
#if defined(_VisualStudio)
#define EXPORT __declspec(dllexport)
// MinGW , Linux
#else
#define EXPORT
#endif
/*===================================================================
VARIABLE MACRO
===================================================================*/
#define MAX_NUM_OF_LINES_IN_FILE 1024
// return values
#define OK 255
// typdef unsigned value
typedef unsigned int uint;
typedef unsigned char uchar;
typedef unsigned short ushort;
// boolean value
#ifndef __cplusplus
#define true 1
#define false 0
#define char bool
#endif
// if MinGW or VS : able to use <windows.h>
#if defined( _MinGW ) || defined( _VisualStudio )
#define _Windows 1
#endif
/*===================================================================
ASSERTION
===================================================================*/
// static assert
#ifdef __cplusplus
template <bool> struct StaticAssert;
template<>struct StaticAssert<true>{typedef int t;};
#define STATIC_ASSERT(exp) typedef StaticAssert<(exp)>::t \
STATIC_ASSERTION_ERROR##__LINE__;
#endif
// assert
# ifdef _RELEASE_MODE
#define ASSERT(a)
# else
#define ASSERT(a) \
if((a)) {\
printf("error:%s %d\n" , __FILE__ , __LINE__ );\
exit( EXIT_FAILURE );\
}
# endif
/*===================================================================
FILE
===================================================================*/
// get file line
EXPORT int GetFileLine( const char *fname );
// get file size
EXPORT int GetFileSize( const char *fname );
// output log file
EXPORT void OutPutLog( char* data , unsigned int size );
// get file raw data
EXPORT const char*GetFileData(const char *fname );
/*===================================================================
MEMORY
===================================================================*/
// get array number
#define NUM_ARRAY(array) (sizeof(array)/sizeof(array[0]))
// safe release
#define RELEASE(p) if((p)) { delete (p); (p) = NULL; }
#define FREE(p) if((p)) { free((p));(p) = NULL; }
/*===================================================================
STRING
===================================================================*/
// get string with replaced
EXPORT const char *Replace( const char *str , char from , char to);
// array clear
EXPORT void ZeroClear( char *buf );
/*===================================================================
DEBUG PRINT
===================================================================*/
#ifdef _DEBUG_MODE
#define PUTS(a) puts(a);
#else
#define PUTS(a)
#endif
void LogTxt(const char *fname , const char *errtxt);
/*===================================================================
DIRECTORY
===================================================================*/
EXPORT int Mkdir(const char *dname );
/*===================================================================
TIME
===================================================================*/
EXPORT void Now(char *buf);
#ifdef __cplusplus
} // end extern
#endif
#endif // end UTILH
gcc -c Util.c -D_Linux (CentOS6上で実行)
エラー内容
In file included from Util.c:1:
Util.h:105: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
Util.h:108: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
Util.h:111: error: expected ‘)’ before ‘*’ token
Util.h:114: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
Util.h:132: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
Util.h:135: error: expected ‘)’ before ‘*’ token
Util.h:147: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
Util.h:153: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
Util.h:159: error: expected ‘)’ before ‘*’ token
In file included from Util.c:3:
/usr/include/time.h:147: error: expected ‘:’, ‘,’, ‘;’, ‘}’ or ‘__attribute__’ before ‘*’ token
/usr/include/time.h:199: error: expected ‘)’ before ‘*’ token
/usr/include/time.h:217: error: expected ‘)’ before ‘*’ token
/usr/include/time.h:255: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/time.h:258: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/time.h:266: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/time.h:270: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/time.h:276: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
/usr/include/time.h:283: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token
In file included from Util.c:10:
/usr/include/sys/stat.h:211: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:240: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:265: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:286: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:293: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:305: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:323: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:330: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:338: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:345: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:352: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:359: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:366: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:403: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:405: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:407: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:444: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
/usr/include/sys/stat.h:447: error: expected ‘;’, ‘,’ or ‘)’ before ‘*’ token
以上です。よろしくお願いします。