Такой файл не найден с 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
должен быть в состоянии найти их без каких-либо дополнительных опций.