libspatialindex だけに関心があると仮定すると、次のようになります。
- 適切なファイルがインストールされていることを確認してください: を試して、インストールされている
locate libspatialindex
場所を確認してください。*.a、*.so、または同様の拡張子を使用できます。パスに注意してください。
- プロジェクトのルート ディレクトリに移動します。例: /home/keira/netbeans/projects/myproject
- 試す:
gcc -i main.cpp -L/usr/lib/ -lspatialindex -o myfile
-L/usr/lib を、ライブラリがあることがわかっている実際の場所に置き換えます。
cxx リンク フラグは、通常、ライブラリの名前にプレフィックス -l を付けたものです。たとえば、システムで見つかった名前libspatialindex.so
が-lspatialindex
.
Debian および Ubuntu システムで実際のフラグを見つける方法はありますが、思い出せません。または、いつでも Google で検索したり、ライブラリのドキュメントを読んだりできます。
通常、未定義の関数などでリンカー エラーが表示される場合は、ヘッダーが含まれていて見つかった場合、リンクしていないことを意味します。
Netbeans については、追加の引数をコンパイラに渡すオプションがあると思います。この場合、-lspatialindex
Netbeans がライブラリとヘッダーの場所を認識していれば、必要なのはフラグだけです。これが、KDevelop や私が使用した他の IDE での動作です。
または、より多くの制御と自動化が必要な場合は、cmake などのツールを使用することもできます。