gozfree / gear-lib

Gear-Lib, C library for IOT Embedded Multimedia and Network
MIT License
2.97k stars 805 forks source link

Unable to build on MSYS2 (UCRT64) #97

Open ghost opened 1 year ago

ghost commented 1 year ago
$ ninja -j1
[1/72] Building C object gear-lib/libposix/CMakeFiles/posix.dir/libposix.c.obj
FAILED: gear-lib/libposix/CMakeFiles/posix.dir/libposix.c.obj
C:\msys64\ucrt64\bin\cc.exe  -IC:/msys64/home/Administrator/gear-lib/gear-lib/libposix/. -IC:/msys64/home/Administrator/gear-lib/gear-lib/libposix/pthreads4w -IC:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include  -MD -MT gear-lib/libposix/CMakeFiles/posix.dir/libposix.c.obj -MF gear-lib\libposix\CMakeFiles\posix.dir\libposix.c.obj.d -o gear-lib/libposix/CMakeFiles/posix.dir/libposix.c.obj -c C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix.c
In file included from C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix4win.h:25,
                 from C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix.h:45,
                 from C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix.c:23:
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:34:2: error: #error The msvclibx library is designed for use with the Microsoft Visual C/C++ tools only.
   34 | #error The msvclibx library is designed for use with the Microsoft Visual C/C++ tools only.
      |  ^~~~~
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:48:6: error: #error No msvclibx.lib version for this 64-bits OS.
   48 | #    error No msvclibx.lib version for this 64-bits OS.
      |      ^~~~~
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:128:99: error: pasting "/" and "stdio" does not give a valid preprocessing token
  128 | #define UCRT_INCLUDE_FILE(relpath) MSVCLIBX_STRINGIZE(MSVCLIBX_CONCAT(UCRTINCLUDE,MSVCLIBX_CONCAT(/,relpath))) /* C runtime library include files */
      |                                                                                                   ^
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:122:31: note: in definition of macro 'MSVCLIBX_CONCAT1'
  122 | #define MSVCLIBX_CONCAT1(a,b) a##b /* Concatenate the raw arguments */
      |                               ^
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:128:83: note: in expansion of macro 'MSVCLIBX_CONCAT'
  128 | #define UCRT_INCLUDE_FILE(relpath) MSVCLIBX_STRINGIZE(MSVCLIBX_CONCAT(UCRTINCLUDE,MSVCLIBX_CONCAT(/,relpath))) /* C runtime library include files */
      |                                                                                   ^~~~~~~~~~~~~~~
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/stdio.h:33:10: note: in expansion of macro 'UCRT_INCLUDE_FILE'
   33 | #include UCRT_INCLUDE_FILE(stdio.h) /* Include MSVC's own <stdio.h> file */
      |          ^~~~~~~~~~~~~~~~~
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:128:71: error: pasting "UCRTINCLUDE" and "/" does not give a valid preprocessing token
  128 | #define UCRT_INCLUDE_FILE(relpath) MSVCLIBX_STRINGIZE(MSVCLIBX_CONCAT(UCRTINCLUDE,MSVCLIBX_CONCAT(/,relpath))) /* C runtime library include files */
      |                                                                       ^~~~~~~~~~~
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:122:31: note: in definition of macro 'MSVCLIBX_CONCAT1'
  122 | #define MSVCLIBX_CONCAT1(a,b) a##b /* Concatenate the raw arguments */
      |                               ^
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/msvclibx.h:128:55: note: in expansion of macro 'MSVCLIBX_CONCAT'
  128 | #define UCRT_INCLUDE_FILE(relpath) MSVCLIBX_STRINGIZE(MSVCLIBX_CONCAT(UCRTINCLUDE,MSVCLIBX_CONCAT(/,relpath))) /* C runtime library include files */
      |                                                       ^~~~~~~~~~~~~~~
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/stdio.h:33:10: note: in expansion of macro 'UCRT_INCLUDE_FILE'
   33 | #include UCRT_INCLUDE_FILE(stdio.h) /* Include MSVC's own <stdio.h> file */
      |          ^~~~~~~~~~~~~~~~~
In file included from C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/libposix4win.h:27:
C:/msys64/home/Administrator/gear-lib/gear-lib/libposix/MsvcLibX/include/stdio.h:33:1: fatal error: UCRTINCLUDE/stdio.h: No such file or directory
   33 | #include UCRT_INCLUDE_FILE(stdio.h) /* Include MSVC's own <stdio.h> file */
      | ^~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
gozfree commented 1 year ago

already fix it, msys2 env is similar to linus env