我构建了一个框架libtest.framework
,其中包含以下文件:
//cfuncation.h
char* getcstring();
//cfuncation.c
#include <cfuncation.h>
char* getcstring() {
return "123456";
}
//cppfuncation.h
#include <string>
std::string getcppstring();
//cppfuncation.cpp
#include "cppfuncation.h"
std::string getcppstring(){
std::string rstr("This is cpp string");
return rstr;
}
我导出cfuncation.h
和cppfuncation.h
作为框架的公共负责人。在构建框架成功之后。
//libtest.h generate by xcode
// In this header, you should import all the public headers of your framework using statements like #import <libtest/PublicHeader.h>
#import <libtest/cppfuncation.h>
#import <libtest/cfuncation.h>
我在某个应用项目文件AppDelegate.m
中导入框架,例如#import <libtest/cppfuncation.h>
Howerer会报告错误
Could not build module 'cpplibtest'
因为string' file not found
代码中的cppfuncation.h
#include <string>
我没有导入AppDelegate.m
中的cpp文件,为什么会报告此错误?
有什么办法,我可以构建一个可以包含cpp文件头的框架,并在.m
个文件中导入框架吗?