Делать ошибки в Ubuntu WSL - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь использовать make для создания библиотеки c. Эта операция успешна, если я запускаю ее с виртуальной машины (используя CentOS 7 на VirtualBox) или на одном из Linux серверов нашей компании, но при запуске из моей Windows Подсистемы Linux * появляются следующие ошибки 1037 * оболочка под управлением Ubuntu:

    /usr/include/stdio.h:276:43: error: missing binary operator before token "("
 #if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2)
                                           ^
/usr/include/stdio.h:349:17: error: missing binary operator before token "("
 #if __GLIBC_USE (LIB_EXT2)
                 ^
/usr/include/stdio.h:567:17: error: missing binary operator before token "("
 #if __GLIBC_USE (DEPRECATED_GETS)
                 ^
/usr/include/stdio.h:592:43: error: missing binary operator before token "("
 #if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2)
                                           ^
In file included from ../../../logic/src/madp_helo_engine_status_process.c:44:0:
/usr/include/string.h:36:42: error: missing binary operator before token "("
 #if defined __cplusplus && __GNUC_PREREQ (4, 4)
                                          ^
/usr/include/string.h:164:21: error: missing binary operator before token "("
      || __GLIBC_USE (LIB_EXT2))
                     ^
/usr/include/string.h:173:43: error: missing binary operator before token "("
 #if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2)
                                           ^
/usr/include/string.h:491:19: error: missing binary operator before token "("
 #if __GNUC_PREREQ (3,4)
                   ^
In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/stdint.h:9:0,
                 from ../../../includes/common_types.h:41,
                 from ../../../logic/src/source.c:46:
/usr/include/stdint.h:286:17: error: missing binary operator before token "("
 #if __GLIBC_USE (IEC_60559_BFP_EXT)
                 ^
In file included from ../../../includes/common_types.h:44:0,
                 from ../../../logic/src/source.c:46:
/usr/include/stdlib.h:133:35: error: missing binary operator before token "("
 #if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                   ^
/usr/include/stdlib.h:139:35: error: missing binary operator before token "("
 #if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                   ^
/usr/include/stdlib.h:145:35: error: missing binary operator before token "("
 #if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                   ^
/usr/include/stdlib.h:151:36: error: missing binary operator before token "("
 #if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                    ^
/usr/include/stdlib.h:157:36: error: missing binary operator before token "("
 #if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                    ^
/usr/include/stdlib.h:163:36: error: missing binary operator before token "("
 #if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                    ^
/usr/include/stdlib.h:169:37: error: missing binary operator before token "("
 #if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                     ^
/usr/include/stdlib.h:211:17: error: missing binary operator before token "("
 #if __GLIBC_USE (IEC_60559_BFP_EXT)
                 ^
/usr/include/stdlib.h:225:35: error: missing binary operator before token "("
 #if __HAVE_FLOAT16 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                   ^
/usr/include/stdlib.h:231:35: error: missing binary operator before token "("
 #if __HAVE_FLOAT32 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                   ^
/usr/include/stdlib.h:237:35: error: missing binary operator before token "("
 #if __HAVE_FLOAT64 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                   ^
/usr/include/stdlib.h:243:36: error: missing binary operator before token "("
 #if __HAVE_FLOAT128 && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                    ^
/usr/include/stdlib.h:249:36: error: missing binary operator before token "("
 #if __HAVE_FLOAT32X && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                    ^
/usr/include/stdlib.h:255:36: error: missing binary operator before token "("
 #if __HAVE_FLOAT64X && __GLIBC_USE (IEC_60559_TYPES_EXT)
                                    ^
/usr/include/stdlib.h:261:37: error: missing binary operator before token "("
 #if __HAVE_FLOAT128X && __GLIBC_USE (IEC_60559_TYPES_EXT)

Опять же, эта же сборка отлично работает вне WSL. Я предполагаю, что мне не хватает зависимости, я просто не знаю, что, и поиски Google не нашли ничего полезного.

Версии:

  • g cc версия 7.5.0 (Ubuntu 7.5.0-3ubuntu1 ~ 18.04)

  • GNU Make 4.1

  • Идентификатор распространителя: Ubuntu

  • Описание: Ubuntu 18.04.4 LTS

  • Выпуск: 18.04

  • Кодовое имя: bioni c

...