我在ubuntu 12.04上安装了opencv 2.4.2。我想知道如何在ubuntu中编译用c ++编写的opencv程序?另外,使用'make file'有什么好处?我怎么编译使用make-file?
答案 0 :(得分: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
其中main.cpp只是你的main函数,你可以在其中多次调用functions.cpp中定义的函数。指令pkg-config --cflags/libs opencv
使用名为pkg-config的实用程序,它自动生成构建所需的编译器和链接器标志,路径和库。你当然可以在makefile中手动指定这些,如果你使用的库不支持pkg-config,但是如opencv那样,使用它是有意义的。
要使用makefile进行编译,只需导航到保存源代码的目录,将makefile保存为“Makefile”并使用命令make
进行构建。
答案 1 :(得分:0)
这是一般性提示:
您可以使用eclipse IDE加速开发。
这篇文章解释了如何轻松完成这项工作:
http://codewithgeeks.blogspot.in/2013/10/installing-opencv-ubuntu-1204-eclipse.html
和
http://codewithgeeks.blogspot.in/2013/10/installing-opencv-ubuntu-1204-eclipse_10.html