2013-01-24 34 views
0

我已經在ubuntu 12.0上安裝了opencv 2.4.2。我想知道如何編譯在C++中用ubuntu編寫的opencv程序?另外,使用'make file'有什麼好處?我怎樣才能編譯使用make-file?編譯ubuntu中的opencv程序

回答

3

makefile是一種編譯項目的簡單方法,無需每次指定編譯和鏈接指令。它按以下格式構建爲一系列規則:

target:dependencies 
[tab] rule 

其中規則必須以製表符爲前綴。

舉例來說,如果你有一個項目,該項目由2個源文件,main.cpp中和functions.cpp兩者使用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 

其中主。 cpp只是您在函數中調用functions.cpp中定義的函數的主要函數。指令pkg-config --cflags/libs opencv使用稱爲pkg-config的實用程序,該實用程序自動生成構建所需的編譯器和鏈接器標誌,路徑和庫。當然,如果你使用的庫不支持pkg-config,但是像opencv那樣,你可以在你的makefile中手動指定這些,使用它是有意義的。

要使用makefile進行編譯,只需導航至保存源代碼的目錄,將makefile保存爲「Makefile」並使用命令make構建。