我已经在 ubuntu 12.04 上安装了 opencv 2.4.2。我想知道如何在 ubuntu 中编译用 c++ 编写的 opencv 程序?另外,使用“make 文件”有什么好处?我如何使用 make-文件?
2 回答
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 只是您的主函数,您可以在其中多次调用在 functions.cpp 中定义的函数。该指令pkg-config --cflags/libs opencv
使用一个名为 pkg-config 的实用程序,它会自动生成必要的编译器和链接器标志、路径和构建所需的库。如果您使用的库不支持 pkg-config 但就像 opencv 一样,使用它是有意义的,您当然可以在您的 makefile 中手动指定这些。
要使用 makefile 进行编译,您只需导航到保存源代码的目录,将 makefile 保存为“Makefile”并使用命令构建make
。
这是一个一般提示:
您可以使用 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