我如何编译这个在mac通过终端命令 [英] How do I compile this on mac by terminal command

查看:126
本文介绍了我如何编译这个在mac通过终端命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Xcode编译我OpenCV的项目,我有如下的一些设置:

I am using xcode to compile my opencv project, and I have some settings as below:

    HEADER_SEARCH_PATHS = /usr/local/include

    LIBRARY_SEARCH_PATHS = /usr/local/lib

    OTHER_LDFLAGS = -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab

我想知道我该怎么写通过终端命令,而不是Xcode中的设置。

I want to know what shall I write by terminal command rather than setting of xcode.

推荐答案

如果您安装了 OpenCV的 homebrew ,并且您还安装了 pkgconfig >,包可以告诉你的设置,你需要自己 - 更准确的比你能猜出他们

If you installed OpenCV with homebrew and you also installed the pkgconfig package with homebrew, the package can tell you the settings you need itself - far more accurately than you can guess them.

最简单的方法就是问 pkgconfig 列出其所知道的所有包:

The easy way is to ask pkgconfig to list all the packages it knows about:

pkg-config --list-all | grep -i opencv

opencv                 OpenCV - Open Source Computer Vision Library

,现在你知道包名是简单明了的 OpenCV的,你可以找到你需要这样的标志:

So, now you know the package name is plain and simple opencv, and you can find the flags you need like this:

pkg-config --cflags --libs opencv
-I/usr/local/Cellar/opencv/2.4.12_2/include/opencv \
-I/usr/local/Cellar/opencv/2.4.12_2/include \
-L/usr/local/Cellar/opencv/2.4.12_2/lib \
-lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab

这意味着你的编译和链接变得简单:

Which means your compilation and linking becomes simply:

g++ $(pkg-config --cflags --libs opencv) program.cpp -o program



如果在Makefile中这样做,您需要将 $ 符号加倍。

如果您的系统安装不当,自己找到 pkgconfig 文件。所以你会这样做:

If your system is not so well installed, you may need to find the pkgconfig file yourself. So you would do:

find /usr/local -name "opencv*pc"
/usr/local/Cellar/opencv/2.4.12_2/lib/pkgconfig/opencv.pc

具体如下:

pkg-config --cflags --libs /usr/local/Cellar/opencv/2.4.12_2/lib/pkgconfig/opencv.pc

这篇关于我如何编译这个在mac通过终端命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆