-
Notifications
You must be signed in to change notification settings - Fork 2
Description
compile on my machine, and get this error.
micrograd.c make
gcc -Wall -Wextra -pedantic -std=c99 -I./micrograd.c -I./test -c micrograd.c/engine.c -o micrograd.c/engine.o
micrograd.c/engine.c: In function ‘value_new’:
micrograd.c/engine.c:23:14: warning: implicit declaration of function ‘strdup’; did you mean ‘strcmp’? [-Wimplicit-function-declaration]
23 | v->_op = strdup(op);
| ^~~~~~
| strcmp
micrograd.c/engine.c:23:12: warning: assignment to ‘char *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
23 | v->_op = strdup(op);
| ^
gcc main.o micrograd.c/engine.o micrograd.c/nn.o test/test.o -lm -o main
gcc train.o micrograd.c/engine.o micrograd.c/nn.o -lm -o train
adding _POSIX_C_SOURCE fixes it as Claude suggests.
#define _POSIX_C_SOURCE 200809L
#include "engine.h"#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>