これは古い投稿です。しかし、最近同じ問題を見つけ、@HEKTOの回答に基づいて別の問題を見つけました。
大規模なスパース行列システムを解くためのライブラリであるPETScを使用します。彼らのビルドシステムでは、2つの環境変数に依存するmakefileで「include」を使用する必要があります。PETSC_DIRとPETSC_ARCHは、環境で設定する必要があります。または、オプションとしてmakeコマンドに渡すことができます。これは私がしたことです。
NetBeansによって生成されたmakefileを取得し、最後にインクルードを追加しました。
include ${PETSC_DIR}/conf/variables
これがPETSC_DIRの定義にどのように依存するかに注意してください。さらに、これには、これとPETSC_ARCHがいたるところに大量に使用されています。
したがって、NetBeansでは、次の変数を渡すように構成します。ツール->オプション:[プロジェクトオプション]タブで、[オプションの作成]のテキストボックスに次のように入力します。PETSC_DIR= / path / to / petsc PETSC_ARCH =いくつかのアーチ
また、これらの環境変数(およびプロジェクトオプション内の$ {PETSC_DIR} / conf / variablesで定義されている他の変数)の使用を開始できるようになりました。たとえば、インクルードファイルの場合(プロジェクトを右クリックして[プロパティ]): 「Cコンパイラ」、「ディレクトリを含める」私が置いたもの:$ {PETSC_DIR} / include
そして、「リンカー」の下に「ライブラリ」を置きます:$ {PETSC_LIB}(上記のインクルードファイルで定義されています)。
これで、NetBeans内からプロジェクトをビルドして実行できます。PETScのバージョンが変更された場合、makeに渡された変数の定義を変更するだけで、他のすべてが解決されます。
これが誰かに役立つことを願っています。それは間違いなく私のために働いた。そして、すばらしい点は、自分のコードを他の人に渡すことができ、他の人が通常どおり(NetBeansなしで)「make」を使用してコマンドラインからコンパイルし、上記の環境変数を定義できることです。現在、コンパイルにはハードコードされたパスがありません。