0
我有C++文件:C.cpp和Ch如何調用C++方法在Objective-C
//C.h
#ifndef __ThreeMoreOpenCV__SourceC__
#define __ThreeMoreOpenCV__SourceC__
#include <iostream>
class C
{
public:
static void Cmethod();
};
#endif
//C.cpp
#include "SourceC.h"
using namespace std;
void Cmethod()
{
printf("ff");
}
我也有Wrapper.h/.mm
//Wrapper.h
#import <Foundation/Foundation.h>
@interface CVWrapper : NSObject
+(void)returnCmethod;
@end
//Wrapper.mm
#import "Wrapper.h"
#import "C.h"
@implementation CVWrapper
+(void)returnCmethod
{
C::Cmethod();
}
@end
我不知道但我發現了一個錯誤,如:
「C :: Cmethod()」,從引用: + [包裝returnCmethod]在Wrapper.o LD:符號(多個)未找到i386硬件架構 鐺:埃羅r:linker命令失敗,退出代碼1(使用-v查看調用)。
有人可以告訴我什麼是調用函數的正確方法嗎?
編輯標題,因爲這是極其錯誤的。另外,我建議重新命名你的'C'類來描述更具描述性的內容。 – 2013-03-24 20:11:00