I've compiled clang and installed GNUstep. I'm trying to compile a
simple "hello world".
#import <Foundation/Foundation.h>
int main(int argc, char **argv) {}
The command I am using to compile is via command prompt is:
clang hello.m -o hello -I c:/gnustep/gnustep/system/library/headers -
L
c:/gnustep/gnustep/system/library/libraries/ -I c:/gnustep/mingw/
include -ObjC
I would like to get this working. Why does sys/socket.h not exist? Why
does including the mingw include directory (which overrides the
stdio.h that came with clang) cause an error? What are the other
errors and warnings?
Your help is greatly appreciated! Here is the compiler output:
D:\mirrored\clangTestProject>clang hello.m -o hello -I c:/gnustep/
gnustep/system
/library/headers -L c:/gnustep/gnustep/system/library/libraries/ -I
c:/
gnustep/m
ingw/include -ObjC
In file included from hello.m:6:
In file included from c:/gnustep/gnustep/system/library/headers/
Foundation/Found
ation.h:30:
In file included from c:/gnustep/gnustep/system/library/headers/
GNUstepBase/GSVe
rsionMacros.h:193:
In file included from c:/gnustep/gnustep/system/library/headers/
GNUstepBase/GSCo
nfig.h:226:
In file included from c:/gnustep/gnustep/system/library/headers/
GNUstepBase/pref
ace.h:82:
In file included from c:/gnustep/gnustep/system/library/headers/objc/
objc-api.h:
33:
c:/gnustep/gnustep/system/library/headers/objc/objc-decls.h(32) :
error:
invalid preprocessing directive
# The following code is not needed on MinGW >= 5.1.3 since the
compiler ...
^
c:/gnustep/gnustep/system/library/headers/objc/objc-decls.h(33) :
error:
invalid preprocessing directive
# determine which symbols to import/export, at least when
compiling ...
^
In file included from hello.m:6:
In file included from c:/gnustep/gnustep/system/library/headers/
Foundation/Found
ation.h:30:
In file included from c:/gnustep/gnustep/system/library/headers/
GNUstepBase/GSVe
rsionMacros.h:193:
In file included from c:/gnustep/gnustep/system/library/headers/
GNUstepBase/GSCo
nfig.h:226:
In file included from c:/gnustep/gnustep/system/library/headers/
GNUstepBase/pref
ace.h:82:
In file included from c:/gnustep/gnustep/system/library/headers/objc/
objc-api.h:
34:
c:/gnustep/mingw/include/stdio.h(208) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
extern int __mingw_stdio_redirect__(vfprintf)(FILE*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(209) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
extern int __mingw_stdio_redirect__(vprintf)(const char*, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(210) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
extern int __mingw_stdio_redirect__(vsprintf)(char*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(211) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
...size_t, const char*, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(296) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __cdecl __MINGW_NOTHROW vfprintf (FILE*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(297) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __cdecl __MINGW_NOTHROW vprintf (const char*, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(297) : warning: incompatible
redeclaration of
library function 'vprintf'
_CRTIMP int __cdecl __MINGW_NOTHROW vprintf (const char*, __VALIST);
^
c:/gnustep/mingw/include/stdio.h(297) : note: 'vprintf' is a builtin
with type
'int (char const *, __builtin_va_list)'
c:/gnustep/mingw/include/stdio.h(298) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __cdecl __MINGW_NOTHROW vsprintf (char*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(298) : warning: incompatible
redeclaration of
library function 'vsprintf'
_CRTIMP int __cdecl __MINGW_NOTHROW vsprintf (char*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h(298) : note: 'vsprintf' is a
builtin
with type
'int (char *, char const *, __builtin_va_list)'
c:/gnustep/mingw/include/stdio.h(311) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __mingw_stdio_redirect__(vfprintf)(FILE*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(312) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __mingw_stdio_redirect__(vprintf)(const char*, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(313) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __mingw_stdio_redirect__(vsprintf)(char*, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(320) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
...__MINGW_NOTHROW _vsnprintf (char*, size_t, const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(321) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __cdecl __MINGW_NOTHROW _vscprintf (const char*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(332) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
int __cdecl __MINGW_NOTHROW vsnprintf (char *, size_t, const char *,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(332) : warning: incompatible
redeclaration of
library function 'vsnprintf'
int __cdecl __MINGW_NOTHROW vsnprintf (char *, size_t, const char *,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h(332) : note: 'vsnprintf' is a
builtin with
type 'int (char *, unsigned int, char const *,
__builtin_va_list)'
c:/gnustep/mingw/include/stdio.h(334) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
int __cdecl __MINGW_NOTHROW vscanf (const char * __restrict__,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(336) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(338) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
const char * __restrict__, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(566) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
...__cdecl __MINGW_NOTHROW vfwprintf (FILE*, const wchar_t*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(567) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __cdecl __MINGW_NOTHROW vwprintf (const wchar_t*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(568) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
..._vsnwprintf (wchar_t*, size_t, const wchar_t*, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(569) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
_CRTIMP int __cdecl __MINGW_NOTHROW _vscwprintf (const wchar_t*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(580) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
...__MINGW_NOTHROW vswprintf (wchar_t*, const wchar_t*,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(606) : error: unknown type name
'__gnuc_va_list'
...vsnwprintf (wchar_t* s, size_t n, const wchar_t* format,
__VALIST
arg);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(612) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
int __cdecl __MINGW_NOTHROW vwscanf (const wchar_t * __restrict__,
__VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(614) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
const wchar_t * __restrict__, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
c:/gnustep/mingw/include/stdio.h(616) : warning: type specifier
missing,
defaults to 'int' [-Wimplicit-int]
const wchar_t * __restrict__, __VALIST);
^
c:/gnustep/mingw/include/stdio.h:114:18: note: instantiated from:
#define __VALIST __gnuc_va_list
^
In file included from hello.m:6:
In file included from c:/gnustep/gnustep/system/library/headers/
Foundation/Found
ation.h:94:
In file included from c:/gnustep/gnustep/system/library/headers/
Foundation/NSPor
tMessage.h:30:
c:/gnustep/gnustep/system/library/headers/Foundation/NSPort.h(40) :
fatal error
:
'sys/socket.h' file not found
#include <sys/socket.h>
^
27 warnings and 4 errors generated.
D:\mirrored\clangTestProject>