Такой файл не найден с semaphore.h и ucontext.h

У меня есть мой код здесь:

#define _GNU_SOURCE

#include "lib-ult.h"

#include <stdio.h>
#include <stdlib.h>

#include <ucontext.h>
#include <semaphore.h>

#define TRUE 1
#define FALSE 0
#define FAILURE -1

typedef struct Node {
    ucontext_t* context;
    int priority;

    struct Node* next;
    struct Node* prev;
} Node;

int STACK_SIZE = 16384;

sem_t queueLock;

sem_t threadsLock;

И когда я пытаюсь построить проект, я получаю Error 1 error C1083: Cannot open include file: 'ucontext.h': No such file or directory (а также для semaphore.h).

Почему это? Как мне это исправить? Связано ли это с тем, что у меня машина с Windows?

Спасибо!

2 ответа

ucontext.h а также semaphore.h являются частью linux-headers пакет linux Я не думаю, что вы сможете скомпилировать это приложение на Windows. Установите виртуальную машину с Linux и попробуйте скомпилировать ее там.

Предположим, у вас есть semaphore.h и / или ucontext.h в /path/to/dirВы можете добавить опцию -I/path/to/dir в gcc чтобы исправить эту проблему.

Кстати, semaphore.h а также ucontex.h являются частями Glibc, с правильно установленным GNU Toolchain, gcc должен быть в состоянии найти их без каких-либо дополнительных опций.

Другие вопросы по тегам