Код C компилируется на виртуальной машине с Ubuntu 18.04, а не на Crouton: ошибка структурного переопределения - PullRequest
1 голос
/ 31 октября 2019

У меня есть SDK для камеры, которая работает без проблем в Ubuntu 18.04, которую я запускаю через виртуальную машину. Я пытаюсь заставить камеру работать на моем Chromebook, поэтому я установил crouton . Однако, когда я пытаюсь реплицировать процесс на гренке, я получаю ошибку при запуске make:

error: переопределение 'struct sched_param'

Использование одной и той же версии gcc в обоих случаях.

1 Ответ

0 голосов
/ 31 октября 2019

В вашем вопросе не так много информации (какие источники вы пытаетесь скомпилировать? Что такое минимальный репродуктор?), Но исправление, вероятно, в том же духе. Один из исходных файлов использует

#include <linux/sched.h>

. Вам нужно заменить его на

#include <sched.h>

и убедиться, что вы строите с -D_GNU_SOURCE. Я подозреваю, что вы пытаетесь скомпилировать более старый фрагмент кода, и такие смешанные включения заголовков ядра / glibc обычно необходимо очистить для старого кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...