ubuntu 12.04 に opencv 2.4.2 をインストールしました。C++ で記述された opencv プログラムを ubuntu でコンパイルする方法を知りたいですか?また、「make ファイル」を使用する利点は何ですか?また、make-ファイル?
2 に答える
makefile は、毎回コンパイルとリンクの指示を指定する必要なく、プロジェクトをコンパイルする簡単な方法です。次の形式の一連のルールとして構成されます。
target:dependencies
[tab] rule
ルールの前にタブを付ける必要があります。
たとえば、main.cpp と functions.cpp の 2 つのソース ファイルで構成されるプロジェクトがあり、どちらも opencv コードを使用している場合、makefile は次のようなもので構成される可能性があります。
executable: main.o functions.o
g++ -o executable `pkg-config --libs opencv` main.o functions.o
main.o:
g++ `pkg-config --cflags opencv` -c main.cpp
functions.o:
g++ `pkg-config --cflags opencv` -c functions.cpp
ここで、main.cpp は、functions.cpp 内で定義された関数を複数回呼び出すメイン関数です。この命令pkg-config --cflags/libs opencv
では、ビルドに必要なコンパイラとリンカーのフラグ、パス、およびライブラリを自動的に生成する pkg-config というユーティリティを使用します。もちろん、使用しているライブラリが pkg-config をサポートしていない場合は、makefile でこれらを手動で指定できますが、opencv がサポートしているため、使用するのが理にかなっています。
メイクファイルを使用してコンパイルするには、ソース コードを保存したディレクトリに移動し、メイクファイルを「Makefile」として保存し、コマンドでビルドしmake
ます。