Я пытаюсь использовать 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