我试图在 gcc 中包含一个名为libmathematica.a的库文件,以便在可执行示例中链接它。
我试图做到这一点gcc main.c libmathematica.a -o example
注意:我必须使用 gcc 执行此操作,因为 ld 无法将其正确链接到正确的系统库
但我得到:fatal error: mathematica.h: No such file or directory
这很奇怪,因为mathematica.h在图书馆里。
你能帮我吗?
头文件不能在库中。它必须存在于某个位置,并且您必须使用-I
编译器标志指定该位置:
gcc -I/path/to/mathematica/include main.c libmathematica.a -o example
如果头文件在目录main.c
或子目录中,请确保在#include
指令中使用引号而不是尖括号。
问题出在您的源文件中。如果mathematica.h 在系统包含目录中,那么您将使用#include <mathematica.h>
它,如果它在某个本地目录中,那么您将使用类似#include "libs/mathematica.h"
.
尝试添加到 gcc 调用 - 像 -I/Full/Path/To/The/Directory/Where/the/desired/header/resides 这样的选项
例如:gcc -I/usr/include/mathematica -lmathematica -o example main.c