Opencv G++;关于Cygwin的编译
我正在关注OpenCV haartraining的Naotoshi Seo。我正在尝试编译他的脚本,该脚本应该将以前生成的*.vec文件合并为一个 我的工作环境是Windows7x64和Cygwin 当我运行代码时:Opencv G++;关于Cygwin的编译,opencv,g++,cygwin,windows-7-x64,Opencv,G++,Cygwin,Windows 7 X64,我正在关注OpenCV haartraining的Naotoshi Seo。我正在尝试编译他的脚本,该脚本应该将以前生成的*.vec文件合并为一个 我的工作环境是Windows7x64和Cygwin 当我运行代码时: $ g++ 'pkg-config --libs --cflags opencv' -I. -o mergevec mergevec.cpp cvboost.cpp cvcommon.cpp cvsamples.cpp cvhaarclassifier.cpp cvhaartrai
$ g++ 'pkg-config --libs --cflags opencv' -I. -o mergevec mergevec.cpp cvboost.cpp cvcommon.cpp cvsamples.cpp cvhaarclassifier.cpp cvhaartraining.cpp
我得到一个错误:
$ g++: error: pkg-config --libs --cflags opencv: No such file or directory
请注意,文件mergevec.cpp已复制到我运行代码的目录中
希望有人能帮我解决我的问题
谢谢您需要使用反勾号,而不是单引号 这: 将
'pkg-config--libs--cflags opencv'
作为文本字符串参数(不带引号)传递给g++
命令。这:
g++ `pkg-config --libs --cflags opencv` -I. -o mergevec \
mergevec.cpp cvboost.cpp cvcommon.cpp cvsamples.cpp \
cvhaarclassifier.cpp cvhaartraining.cpp
执行命令pkg config--libs--cflags opencv
,并将其输出作为一个或多个参数传递给g++
,这正是您想要的。您也可以这样写:
g++ $(pkg-config --libs --cflags opencv) -I. -o mergevec \
mergevec.cpp cvboost.cpp cvcommon.cpp cvsamples.cpp \
cvhaarclassifier.cpp cvhaartraining.cpp
如果您的shell支持它(csh、tcsh和sh的旧版本不支持;大多数其他现代shell支持)
如果您正在使用的教程显示该命令的单引号,您可能应该让作者知道
g++ $(pkg-config --libs --cflags opencv) -I. -o mergevec \
mergevec.cpp cvboost.cpp cvcommon.cpp cvsamples.cpp \
cvhaarclassifier.cpp cvhaartraining.cpp