在尝试编译一个使用 sfml 但无法编译的简单程序 (main.cpp) 时,我经常使用库。我真的对 mingw 感到困惑; mingw 如何使用 gcc(在本例中为 g++)以及它如何使用库?
检查一下:
x86_64-w64-mingw32-g++ -o app.exe main.cpp -I/usr/include/ -I/usr/include/x86_64-linux-gnu/ -lsfml-graphics -lsfml-audio -lsfml-network -lsfml-window -lsfml-system
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdint:41:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/char_traits.h:420,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/stdint.h:124:27: error: conflicting declaration ‘typedef long unsigned int uintptr_t’
typedef unsigned long int uintptr_t;
^~~~~~~~~
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/stddef.h:1,
from /usr/include/wchar.h:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cwchar:44,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/postypes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/iosfwd:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:38,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/crtdefs.h:75:44: note: previous declaration as ‘typedef long long unsigned int uintptr_t’
__MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
^~~~~~~~~
In file included from /usr/share/mingw-w64/include/sec_api/stdlib_s.h:9:0,
from /usr/share/mingw-w64/include/stdlib.h:694,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/stdlib.h:63:5: error: conflicting declaration ‘typedef struct div_t div_t’
} div_t;
^~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/stdlib.h:62:5: note: previous declaration as ‘typedef struct _div_t div_t’
} div_t;
^~~~~
In file included from /usr/share/mingw-w64/include/sec_api/stdlib_s.h:9:0,
from /usr/share/mingw-w64/include/stdlib.h:694,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/stdlib.h:71:5: error: conflicting declaration ‘typedef struct ldiv_t ldiv_t’
} ldiv_t;
^~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/stdlib.h:67:5: note: previous declaration as ‘typedef struct _ldiv_t ldiv_t’
} ldiv_t;
^~~~~~
In file included from /usr/share/mingw-w64/include/sec_api/stdlib_s.h:9:0,
from /usr/share/mingw-w64/include/stdlib.h:694,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/stdlib.h:83:5: error: conflicting declaration ‘typedef struct lldiv_t lldiv_t’
} lldiv_t;
^~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/stdlib.h:653:61: note: previous declaration as ‘typedef struct lldiv_t lldiv_t’
typedef struct { __MINGW_EXTENSION long long quot, rem; } lldiv_t;
^~~~~~~
In file included from /usr/include/stdlib.h:291:0,
from /usr/share/mingw-w64/include/sec_api/stdlib_s.h:9,
from /usr/share/mingw-w64/include/stdlib.h:694,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/x86_64-linux-gnu/sys/types.h:109:19: error: conflicting declaration ‘typedef __ssize_t ssize_t’
typedef __ssize_t ssize_t;
^~~~~~~
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/stddef.h:1,
from /usr/include/wchar.h:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cwchar:44,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/postypes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/iosfwd:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:38,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/crtdefs.h:45:35: note: previous declaration as ‘typedef long long int ssize_t’
__MINGW_EXTENSION typedef __int64 ssize_t;
^~~~~~~
In file included from /usr/include/x86_64-linux-gnu/sys/types.h:130:0,
from /usr/include/stdlib.h:291,
from /usr/share/mingw-w64/include/sec_api/stdlib_s.h:9,
from /usr/share/mingw-w64/include/stdlib.h:694,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/x86_64-linux-gnu/bits/types/time_t.h:8:18: error: conflicting declaration ‘typedef __time_t time_t’
typedef __time_t time_t;
^~~~~~
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/stddef.h:1,
from /usr/include/wchar.h:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cwchar:44,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/postypes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/iosfwd:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:38,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/crtdefs.h:138:20: note: previous declaration as ‘typedef __time64_t time_t’
typedef __time64_t time_t;
^~~~~~
In file included from /usr/share/mingw-w64/include/sec_api/stdlib_s.h:9:0,
from /usr/share/mingw-w64/include/stdlib.h:694,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/stdlib.h:555:12: error: conflicting declaration of C function ‘int putenv(char*)’
extern int putenv (char *__string) __THROW __nonnull ((1));
^~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/stdlib.h:639:15: note: previous declaration ‘int putenv(const char*)’
int __cdecl putenv(const char *_EnvString) __MINGW_ATTRIB_DEPRECATED_MSVC2005;
^~~~~~
In file included from /usr/include/stdio.h:856:0,
from /usr/include/malloc.h:24,
from /usr/share/mingw-w64/include/stdlib.h:695,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h:27:38: error: conflicting declaration ‘const char* const _sys_errlist []’
extern const char *const sys_errlist[];
^
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cstdlib:75:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ext/string_conversions.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_string.h:5417,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/string:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_classes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/ios_base.h:41,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:42,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/stdlib.h:164:38: note: previous declaration as ‘char* _sys_errlist [1]’
extern __declspec(dllimport) char *_sys_errlist[1];
^~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cwctype:50:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/locale_facets.h:39,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/basic_ios.h:37,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:44,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/include/wctype.h:52:27: error: conflicting declaration ‘typedef long unsigned int wctype_t’
typedef unsigned long int wctype_t;
^~~~~~~~
In file included from /usr/share/mingw-w64/include/stddef.h:7:0,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/stddef.h:1,
from /usr/include/wchar.h:52,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/cwchar:44,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/bits/postypes.h:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/iosfwd:40,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ios:38,
from /usr/lib/gcc/x86_64-w64-mingw32/6.3-win32/include/c++/ostream:38,
from /usr/include/SFML/System/Err.hpp:32,
from /usr/include/SFML/System.hpp:34,
from /usr/include/SFML/Window.hpp:32,
from /usr/include/SFML/Graphics.hpp:32,
from main.cpp:1:
/usr/share/mingw-w64/include/crtdefs.h:107:24: note: previous declaration as ‘typedef short unsigned int wctype_t’
typedef unsigned short wctype_t;
它需要来自 /usr/include
和 /usr/include/x86_64-linux-gnu/
的文件,但现在它显示了所有这些错误...我我已经成功编译了一个使用在 linux 中运行的 sfml 的程序和一个在 windows 中运行的简单(仅限标准库)程序,但我无法使这个(使用 sfml 的 c++ 程序)为 windows 编译。请注意,我的操作系统是 debian linux 发行版。
最佳答案
此问题与 SFML 本身无关。
您的交叉编译环境有问题,因为编译器将来自 MinGW 的文件(例如 /usr/share/mingw-w64/include/stdlib.h
)与来自您的主机的文件混合在一起系统(例如 /usr/include/stdlib.h
)。
您传递 -I/usr/include/-I/usr/include/x86_64-linux-gnu/
是否有特定原因?这是错误的,因为它们是 Linux 特定的,而不是 MinGW 的正确版本。
您还必须交叉编译 SFML 并将其安装在某处,不是直接在您的常规 /usr/
路径中,如果这些路径是指向SFML.
我建议您将 SFML 安装到 /usr/share/mingw-w64
,因为这应该允许 MinGW 开箱即用地获取正确的文件,而无需您提供路径。
关于c++ - 编译一个使用 sfml 和 mingw 从 linux 移植到 windows 的 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47942015/