14

libmathematica.aという名前のライブラリ ファイルを gcc にインクルードしようとしているので、実行可能な例にリンクされます。

私はこれをやろうとしますgcc main.c libmathematica.a -o example

注:ldは正しいシステムライブラリと適切にリンクしないため、gccでこれを行う必要があります

しかし、私は次のようになります: mathematica.hがライブラリにあるfatal error: mathematica.h: No such file or directoryため、これは奇妙です。

手伝ってくれますか?

4

3 に答える 3

20

ヘッダー ファイルをライブラリに含めることはできません。-I特定の場所に存在する必要があり、コンパイラ フラグでその場所を指定する必要があります。

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

ヘッダー ファイルが のディレクトリまたはサブディレクトリにある場合は、ディレクティブmain.cで山かっこではなく引用符を使用してください。#include

于 2012-05-05T17:47:10.970 に答える
5

問題はソースファイルにあります。mathematica.h がシステム インクルード ディレクトリにある場合は使用#include <mathematica.h>し、ローカル ディレクトリにある場合は のようなものを使用します#include "libs/mathematica.h"

于 2012-05-05T17:45:24.880 に答える
1

gcc 呼び出しに追加してみてください - -I/Full/Path/To/The/Directory/Where/the/desired/header/resides のようなオプション

例: gcc -I/usr/include/mathematica -lmathematica -o example main.c

于 2012-05-05T17:46:57.610 に答える