unix/linux バリアントを使用していると仮定します。
ヘッダーとライブラリ リンクのディレクトリは、2 つの異なるものです。インクルード ディレクトリには必要なヘッダーがありますが、コンパイル後にライブラリ (*.a、*.so など) にある実際のコンパイル済みコードも必要になる場合があります。
たとえば、pthreads を使用している場合、含める必要があるヘッダーとは別に、libpthread も必要です。
リンクするときは、pthread を使用してリンクするためのフラグを指定する必要があります。たとえば、-lpthread です。UNIX システムでは、ライブラリを見つけるために find または locate を使用して検索できます。私の場合、その
/usr/lib/libpthread.so
したがって、
gcc myfile.c -lpthread -o myfile
myfile.c を pthread ライブラリにリンクします
一方、
gcc -L/usr/local/lib/
gcc に /usr/local/lib の下を調べて (ヘッダーではなく) ライブラリを検索するように指示します。
ヘッダーがどこにあるかを netbeans に伝えるだけでは十分ではありません。リンク エラーが発生する可能性があります。適切なフラグを使用する可能性があるため、ライブラリがどこにあるかをネットビーンズに伝えるだけで十分な場合があります。それでも失敗する場合は、ライブラリ フラグとパスの両方を指定する必要があります。
または、このプロセスを自動化し、IMO をもう少し制御する cmake、make などのツールを使用することもできます。
リンク 1
を参照 リンク 2 を参照