0

我有 C++ 文件:C.cpp 和 Ch

//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()”,引用自:Wrapper.o 中的 +[Wrapper returnCmethod] ld:未找到体系结构 i386 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)。

谁能告诉我调用函数的正确方法是什么?

4

1 回答 1

4

您实际上还没有在 C 类中实现 Cmethod 函数。您需要C::在函数头中实现它,例如:

void C::Cmethod()
{
    printf("ff");
}
于 2013-03-24T19:57:45.970 回答