GCC无法在包含的库中找到头文件

Cor*_*ght 12 c gcc libraries

我试图在gcc中包含一个名为libmathematica.a的库文件,以便在可执行示例中进行链接.

我试图这样做 gcc main.c libmathematica.a -o example

注意:我必须使用gcc执行此操作,因为ld不会将其与正确的系统库正确链接

但我得到:fatal error: mathematica.h: No such file or directory,这很奇怪,因为mathematica.h在库中.

你能帮我吗?

Hri*_*iev 14

头文件不能在库中.它必须出现在某个位置,您必须使用-I编译器标志指定该位置:

gcc -I/path/to/mathematica/include main.c libmathematica.a -o example
Run Code Online (Sandbox Code Playgroud)

如果头文件位于main.cis或子目录所在的目录中,那么请确保在#include指令中使用引号而不是尖括号.


Tim*_*rtz 5

问题出在您的源文件中。如果 mathematica.h 在系统包含目录中,那么您将使用#include <mathematica.h>它,如果它在某个本地目录中,那么您将使用类似#include "libs/mathematica.h".