我想包括在海湾合作委员会评为libmathematica.a一个库文件,所以它得到可执行例如链接。GCC找不到头文件中包含的库
我试图用gcc main.c libmathematica.a -o example
注意做到这一点:我用gcc要做到这一点,因为LD不会用正确的系统库
正确链接,但我得到:fatal error: mathematica.h: No such file or directory
,这很奇怪,因为mathematica.h在库中。
你能帮忙吗?
我想包括在海湾合作委员会评为libmathematica.a一个库文件,所以它得到可执行例如链接。GCC找不到头文件中包含的库
我试图用gcc main.c libmathematica.a -o example
注意做到这一点:我用gcc要做到这一点,因为LD不会用正确的系统库
正确链接,但我得到:fatal error: mathematica.h: No such file or directory
,这很奇怪,因为mathematica.h在库中。
你能帮忙吗?
库中的头文件不能为。它必须是出现在某个位置,你必须指定与-I
编译器标志的位置:如果头文件是在该main.c
是或子目录中,那么可以肯定的是,目录
gcc -I/path/to/mathematica/include main.c libmathematica.a -o example
您在#include
指令中使用引号而不是尖括号。
这个问题将在您的源文件中。如果mathematica.h位于系统包含目录中,那么您将使用#include <mathematica.h>
,如果它位于某个本地目录中,那么您将使用类似#include "libs/mathematica.h"
之类的内容。
我不关注...请参阅main.c不是mathematica.a的一部分,它是一个外部程序。我试图将mathematica连接到示例以运行mathematica代码 –
mathematica.h文件位于何处?做一些像find/-name“* mathematica.h”。如果它位于/ usr/include等主要包含文件中,则可以使用#include
我在图书馆包括它,这是错误的。 –
尝试增加海合会呼吁 - 像 -I /全/路径/要/ /目录/在哪里/的/所需/头/驻留
例如一个选项: 的gcc -I/USR/include/mathematica -lmathematica -o example main.c
哦......这很有道理。谢谢! –