当我尝试在Mac OS X Snow Leopard上编译OpenCV时,我收到以下错误:
highgui / cvcap_qt.cpp:76:错误:'电影'没有命名类型
有这样的结构:
/// Movie state structure for QuickTime movies
typedef struct CvCapture_QT_Movie
{
Movie myMovie; // movie handle
GWorldPtr myGWorld; // we render into an offscreen GWorld
...
}
但我不知道这种类型的定义。包括QuickTime标头:
// Mac OS includes
#include <Carbon/Carbon.h>
#include <CoreFoundation/CoreFoundation.h>
#include <QuickTime/QuickTime.h>
构建它需要做什么?
答案 0 :(得分:0)
作为一种快速解决方法,您可以从1.2版本中获取预构建的通用框架:http://www.ient.rwth-aachen.de/cms/software/opencv/
答案 1 :(得分:0)
传统的QuickTime框架没有转换为64位,因此您需要确保将其编译为32位。
答案 2 :(得分:0)
您好我在雪豹10.6.2上遇到了同样的问题。所以我在没有启用quicktime的情况下构建了库。在没有启用quicktime的情况下,一定要解决你正在做的事情吗?
要在不使用quicktime的情况下构建库,请完全按照第2节(使用新的CMake构建系统从源代码构建)而不在
中启用额外选项http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port
希望这有帮助。
答案 3 :(得分:0)
我终于在MacOSX 10.6上编译了OpenCV,这可能解决了这个问题......
首先,从http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port开始,通过发出
在i386模式下编译svn co https://code.ros.org/svn/opencv/trunk/opencv
cd opencv # the directory containing INSTALL, CMakeLists.txt etc.
mkdir build
cd build
cmake -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C/CXX_FLAGS=-m32 -D WITH_FFMPEG=OFF -D BUILD_EXAMPLES=ON -D BUILD_LATEX_DOCS=ON ..
make -j2
sudo make install
最终,我不得不重建一些端口:
sudo port install ilmbase +universal
port provides /opt/local/lib/libIlmImf.dylib
sudo port install openexr +universal
并重新编译openCV
然后我可以运行python示例
cd ../samples/python/
python camera.py
和facedetect
没有错误(和网络摄像头一起工作)。