每當我嘗試在iOS中使用OpenCV Stitcher類時,我都會包含stitcher頭(#include),最終會出現編譯錯誤「Expected'{'」in exposure_compensate.hpp 。顯然這行 enum {NO,GAIN,GAIN_BLOCKS}; 正在導致某種錯誤。當在iOS下使用Stitcher時出現OpenCV編譯器錯誤
我對openCV很新,但使用其他函數,如filter2d()按預期工作。我該如何解決這個問題?
每當我嘗試在iOS中使用OpenCV Stitcher類時,我都會包含stitcher頭(#include),最終會出現編譯錯誤「Expected'{'」in exposure_compensate.hpp 。顯然這行 enum {NO,GAIN,GAIN_BLOCKS}; 正在導致某種錯誤。當在iOS下使用Stitcher時出現OpenCV編譯器錯誤
我對openCV很新,但使用其他函數,如filter2d()按預期工作。我該如何解決這個問題?
我這些的OpenCV之前導入任何蘋果頭解決了這個問題,因爲在頭開頭提到:
#if defined(NO)
# warning Detected Apple 'NO' macro definition, it can cause build conflicts. Please, include this header before any Apple headers.
#endif
希望有所幫助。
您的意思是進口的蘋果頭後'opencv'頭?它是在任何Apple頭文件之前包含這個頭文件,並且我嘗試了'#import
我也遇到了這個問題。 G.Führ確保您首先包含opencv頭文件。最簡單的方法是添加:
#ifdef __cplusplus
#include <opencv2/opencv.hpp>
#endif
靠近應用程序「Appname-Prefix.pch」標題的頂部。這是一個預編譯頭文件,很容易保證你的opencv頭文件將包含在任何蘋果頭文件之前。
//
// Prefix header
//
// The contents of this file are implicitly included at the beginning of every source file.
//
#import <Availability.h>
#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif
#ifdef __cplusplus
#include <opencv2/opencv.hpp>
#endif
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#endif
這意味着你不會不小心包括這個其他任何地方的應用程序之前,蘋果頭。
嘗試
#import <opencv2/opencv.hpp>
然後
#import <UIKit/UIKit.h>
經過幾個小時的調試,這節省了我。 –
在你的項目中,創建一個前綴頭,MyProject.pch,並將其設置在項目的構建設置。
然後是PCH文件中,做這樣的事情:
#ifdef __cplusplus
# include <opencv2/opencv.hpp>
# include <opencv2/stitching/detail/blenders.hpp>
# include <opencv2/stitching/detail/exposure_compensate.hpp>
#else
# import <Foundation/Foundation.h>
# import <UIKit/UIKit.h>
# import <Availability.h>
#endif
怎麼ü解決這個問題請 – HDNZ