GCC unable to find header file in a included library

c, gcc, libraries

Solution

A header file cannot be in the library. It has to be present at a certain location and you have to specify that location with the `-I` compiler flag:

gcc -I/path/to/mathematica/include main.c libmathematica.a -o example

If the header file is in the directory where the `main.c` is or in a subdirectory, then be sure that you use quotes and not angle brackets in the `#include` directive.

Problem

I am trying to include a library file named libmathematica.a in gcc so it gets linked in the executable example. I attempt to do this with `gcc main.c libmathematica.a -o example` Note: I have to do this with gcc, as ld won't link it properly with the correct system libraries But I get: `fatal error: mathematica.h: No such file or directory` ,which is odd because mathematica.h is in the library. Can you help?

Original source

Related problems